diff --git a/AssetStudio/AssetStudio-x86.csproj b/AssetStudio/AssetStudio-x86.csproj index d22bfb1..1e855c2 100644 --- a/AssetStudio/AssetStudio-x86.csproj +++ b/AssetStudio/AssetStudio-x86.csproj @@ -162,7 +162,14 @@ + + + + + + + @@ -172,6 +179,7 @@ + @@ -180,14 +188,10 @@ + - - ShaderResource.resx - True - True - @@ -246,10 +250,6 @@ Resources.resx True - - ResXFileCodeGenerator - ShaderResource.Designer.cs - SettingsSingleFileGenerator diff --git a/AssetStudio/AssetStudio.csproj b/AssetStudio/AssetStudio.csproj index 9292aac..3e82c25 100644 --- a/AssetStudio/AssetStudio.csproj +++ b/AssetStudio/AssetStudio.csproj @@ -150,7 +150,16 @@ + + + + + + + + + Code @@ -168,11 +177,6 @@ - - True - True - ShaderResource.resx - @@ -244,10 +248,6 @@ Resources.resx True - - ResXFileCodeGenerator - ShaderResource.Designer.cs - AssetStudioForm.cs Designer diff --git a/AssetStudio/AssetStudioForm.cs b/AssetStudio/AssetStudioForm.cs index 6b5f128..0e226cf 100644 --- a/AssetStudio/AssetStudioForm.cs +++ b/AssetStudio/AssetStudioForm.cs @@ -66,7 +66,7 @@ namespace AssetStudio //tree search private int nextGObject; - private List treeSrcResults = new List(); + private List treeSrcResults = new List(); [DllImport("gdi32.dll")] private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont, IntPtr pdv, [In] ref uint pcFonts); @@ -172,8 +172,7 @@ namespace AssetStudio return; } - BuildAssetStructures(!dontLoadAssetsMenuItem.Checked, displayAll.Checked, !dontBuildHierarchyMenuItem.Checked, buildClassStructuresMenuItem.Checked, - displayOriginalName.Checked, out var fileNodes); + BuildAssetStructures(!dontLoadAssetsMenuItem.Checked, displayAll.Checked, !dontBuildHierarchyMenuItem.Checked, buildClassStructuresMenuItem.Checked, displayOriginalName.Checked); BeginInvoke(new Action(() => { @@ -194,7 +193,7 @@ namespace AssetStudio if (!dontBuildHierarchyMenuItem.Checked) { sceneTreeView.BeginUpdate(); - sceneTreeView.Nodes.AddRange(fileNodes.ToArray()); + sceneTreeView.Nodes.AddRange(treeNodeCollection.ToArray()); foreach (TreeNode node in sceneTreeView.Nodes) { node.HideCheckBox(); @@ -491,14 +490,11 @@ namespace AssetStudio { if (treeSrcResults.Count == 0) { - foreach (var aFile in assetsfileList) + foreach (var node in treeNodeDictionary.Values) { - foreach (var gObject in aFile.GameObjectList.Values) + if (node.Text.IndexOf(treeSearch.Text, StringComparison.CurrentCultureIgnoreCase) >= 0) { - if (gObject.Text.IndexOf(treeSearch.Text, StringComparison.CurrentCultureIgnoreCase) >= 0) - { - treeSrcResults.Add(gObject); - } + treeSrcResults.Add(node); } } } @@ -517,7 +513,7 @@ namespace AssetStudio private void sceneTreeView_AfterCheck(object sender, TreeViewEventArgs e) { - foreach (GameObject childNode in e.Node.Nodes) + foreach (TreeNode childNode in e.Node.Nodes) { childNode.Checked = e.Node.Checked; } @@ -661,8 +657,25 @@ namespace AssetStudio case ClassIDReference.Texture2D: { imageTexture?.Dispose(); - var m_Texture2D = new Texture2DConverter(new Texture2D(asset, true)); - imageTexture = m_Texture2D.ConvertToBitmap(true); + var m_Texture2D = new Texture2D(asset, true); + + //Info + asset.InfoText = $"Width: {m_Texture2D.m_Width}\nHeight: {m_Texture2D.m_Height}\nFormat: {m_Texture2D.m_TextureFormat}"; + switch (m_Texture2D.m_FilterMode) + { + case 0: asset.InfoText += "\nFilter Mode: Point "; break; + case 1: asset.InfoText += "\nFilter Mode: Bilinear "; break; + case 2: asset.InfoText += "\nFilter Mode: Trilinear "; break; + } + asset.InfoText += $"\nAnisotropic level: {m_Texture2D.m_Aniso}\nMip map bias: {m_Texture2D.m_MipBias}"; + switch (m_Texture2D.m_WrapMode) + { + case 0: asset.InfoText += "\nWrap mode: Repeat"; break; + case 1: asset.InfoText += "\nWrap mode: Clamp"; break; + } + + var converter = new Texture2DConverter(m_Texture2D); + imageTexture = converter.ConvertToBitmap(true); if (imageTexture != null) { previewPanel.BackgroundImage = imageTexture; @@ -679,7 +692,95 @@ namespace AssetStudio } case ClassIDReference.AudioClip: { - AudioClip m_AudioClip = new AudioClip(asset, true); + var m_AudioClip = new AudioClip(asset, true); + + //Info + asset.InfoText = "Compression format: "; + if (m_AudioClip.version[0] < 5) + { + switch (m_AudioClip.m_Type) + { + case AudioType.ACC: + asset.InfoText += "Acc"; + break; + case AudioType.AIFF: + asset.InfoText += "AIFF"; + break; + case AudioType.IT: + asset.InfoText += "Impulse tracker"; + break; + case AudioType.MOD: + asset.InfoText += "Protracker / Fasttracker MOD"; + break; + case AudioType.MPEG: + asset.InfoText += "MP2/MP3 MPEG"; + break; + case AudioType.OGGVORBIS: + asset.InfoText += "Ogg vorbis"; + break; + case AudioType.S3M: + asset.InfoText += "ScreamTracker 3"; + break; + case AudioType.WAV: + asset.InfoText += "Microsoft WAV"; + break; + case AudioType.XM: + asset.InfoText += "FastTracker 2 XM"; + break; + case AudioType.XMA: + asset.InfoText += "Xbox360 XMA"; + break; + case AudioType.VAG: + asset.InfoText += "PlayStation Portable ADPCM"; + break; + case AudioType.AUDIOQUEUE: + asset.InfoText += "iPhone"; + break; + default: + asset.InfoText += "Unknown"; + break; + } + } + else + { + switch (m_AudioClip.m_CompressionFormat) + { + case AudioCompressionFormat.PCM: + asset.InfoText += "PCM"; + break; + case AudioCompressionFormat.Vorbis: + asset.InfoText += "Vorbis"; + break; + case AudioCompressionFormat.ADPCM: + asset.InfoText += "ADPCM"; + break; + case AudioCompressionFormat.MP3: + asset.InfoText += "MP3"; + break; + case AudioCompressionFormat.VAG: + asset.InfoText += "PlayStation Portable ADPCM"; + break; + case AudioCompressionFormat.HEVAG: + asset.InfoText += "PSVita ADPCM"; + break; + case AudioCompressionFormat.XMA: + asset.InfoText += "Xbox360 XMA"; + break; + case AudioCompressionFormat.AAC: + asset.InfoText += "AAC"; + break; + case AudioCompressionFormat.GCADPCM: + asset.InfoText += "Nintendo 3DS/Wii DSP"; + break; + case AudioCompressionFormat.ATRAC9: + asset.InfoText += "PSVita ATRAC9"; + break; + default: + asset.InfoText += "Unknown"; + break; + } + } + if (m_AudioClip.m_AudioData == null) break; FMOD.CREATESOUNDEXINFO exinfo = new FMOD.CREATESOUNDEXINFO(); @@ -713,7 +814,7 @@ namespace AssetStudio } case ClassIDReference.Shader: { - Shader m_TextAsset = new Shader(asset, true); + Shader m_TextAsset = new Shader(asset); string m_Script_Text = Encoding.UTF8.GetString(m_TextAsset.m_Script); m_Script_Text = Regex.Replace(m_Script_Text, "(? 0) { viewMatrixData = Matrix4.CreateRotationY(-(float)Math.PI / 4) * Matrix4.CreateRotationX(-(float)Math.PI / 6); @@ -954,9 +1055,10 @@ namespace AssetStudio case ClassIDReference.Sprite: { imageTexture?.Dispose(); - imageTexture = SpriteHelper.GetImageFromSprite(asset); + imageTexture = SpriteHelper.GetImageFromSprite(new Sprite(asset)); if (imageTexture != null) { + asset.InfoText = $"Width: {imageTexture.Width}\nHeight: {imageTexture.Height}\n"; previewPanel.BackgroundImage = imageTexture; if (imageTexture.Width > previewPanel.Width || imageTexture.Height > previewPanel.Height) previewPanel.BackgroundImageLayout = ImageLayout.Zoom; @@ -981,7 +1083,7 @@ namespace AssetStudio } default: { - var str = asset.GetClassString(); + var str = asset.Dump(); if (str != null) { textPreviewBox.Text = str; @@ -1292,14 +1394,11 @@ namespace AssetStudio if (saveFileDialog1.ShowDialog() == DialogResult.OK) { var gameObjects = new List(); - foreach (var assetsFile in assetsfileList) + foreach (var node in treeNodeDictionary.Values) { - foreach (var m_GameObject in assetsFile.GameObjectList.Values) + if (node.Checked || exportAll) { - if (m_GameObject.Checked || exportAll) - { - gameObjects.Add(m_GameObject); - } + gameObjects.Add(node.gameObject); } } @@ -1841,7 +1940,7 @@ namespace AssetStudio var selectasset = (AssetPreloadData)assetListView.Items[assetListView.SelectedIndices[0]]; if (selectasset.gameObject != null) { - sceneTreeView.SelectedNode = selectasset.gameObject; + sceneTreeView.SelectedNode = treeNodeDictionary[selectasset.gameObject]; tabControl1.SelectedTab = tabPage1; } } diff --git a/AssetStudio/Classes/Animation.cs b/AssetStudio/Classes/Animation.cs index 5cf4160..c7f59d5 100644 --- a/AssetStudio/Classes/Animation.cs +++ b/AssetStudio/Classes/Animation.cs @@ -5,20 +5,12 @@ using System.Text; namespace AssetStudio { - class Animation + public sealed class Animation : Behaviour { - public PPtr m_GameObject; public List m_Animations; - public Animation(AssetPreloadData preloadData) + public Animation(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_GameObject = sourceFile.ReadPPtr(); - var m_Enabled = reader.ReadByte(); - reader.AlignStream(4); var m_Animation = sourceFile.ReadPPtr(); int numAnimations = reader.ReadInt32(); m_Animations = new List(numAnimations); diff --git a/AssetStudio/Classes/AnimationClip.cs b/AssetStudio/Classes/AnimationClip.cs index 224154d..c48af38 100644 --- a/AssetStudio/Classes/AnimationClip.cs +++ b/AssetStudio/Classes/AnimationClip.cs @@ -790,9 +790,8 @@ namespace AssetStudio kHumanoid = 3 }; - public class AnimationClip + public sealed class AnimationClip : NamedObject { - public string m_Name { get; set; } public AnimationType m_AnimationType { get; set; } public bool m_Legacy { get; set; } public bool m_Compressed { get; set; } @@ -813,14 +812,8 @@ namespace AssetStudio //public List m_Events { get; set; } - public AnimationClip(AssetPreloadData preloadData) + public AnimationClip(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = sourceFile.version; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_Name = reader.ReadAlignedString(); if (version[0] >= 5)//5.0 and up { m_Legacy = reader.ReadBoolean(); diff --git a/AssetStudio/Classes/Animator.cs b/AssetStudio/Classes/Animator.cs index ac7e962..c08cb87 100644 --- a/AssetStudio/Classes/Animator.cs +++ b/AssetStudio/Classes/Animator.cs @@ -5,21 +5,13 @@ using System.Text; namespace AssetStudio { - class Animator + public sealed class Animator : Behaviour { - public PPtr m_GameObject; public PPtr m_Avatar; public PPtr m_Controller; - public Animator(AssetPreloadData preloadData) + public Animator(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_GameObject = sourceFile.ReadPPtr(); - var m_Enabled = reader.ReadByte(); - reader.AlignStream(4); m_Avatar = sourceFile.ReadPPtr(); m_Controller = sourceFile.ReadPPtr(); } diff --git a/AssetStudio/Classes/AnimatorController.cs b/AssetStudio/Classes/AnimatorController.cs index bd21e51..f9e533f 100644 --- a/AssetStudio/Classes/AnimatorController.cs +++ b/AssetStudio/Classes/AnimatorController.cs @@ -526,19 +526,12 @@ namespace AssetStudio } } - public class AnimatorController + public sealed class AnimatorController : NamedObject { - public string m_Name; public PPtr[] m_AnimationClips; - public AnimatorController(AssetPreloadData preloadData) + public AnimatorController(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = preloadData.sourceFile.version; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_Name = reader.ReadAlignedString(); var m_ControllerSize = reader.ReadUInt32(); var m_Controller = new ControllerConstant(reader, version); diff --git a/AssetStudio/Classes/AnimatorOverrideController.cs b/AssetStudio/Classes/AnimatorOverrideController.cs index 4fe8fbb..4e53d0c 100644 --- a/AssetStudio/Classes/AnimatorOverrideController.cs +++ b/AssetStudio/Classes/AnimatorOverrideController.cs @@ -5,19 +5,13 @@ using System.Text; namespace AssetStudio { - class AnimatorOverrideController + class AnimatorOverrideController : NamedObject { - public string m_Name; public PPtr m_Controller; public PPtr[][] m_Clips; - public AnimatorOverrideController(AssetPreloadData preloadData) + public AnimatorOverrideController(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_Name = reader.ReadAlignedString(); m_Controller = sourceFile.ReadPPtr(); int numOverrides = reader.ReadInt32(); diff --git a/AssetStudio/Classes/AssetBundle.cs b/AssetStudio/Classes/AssetBundle.cs index 64d8537..9ad31d7 100644 --- a/AssetStudio/Classes/AssetBundle.cs +++ b/AssetStudio/Classes/AssetBundle.cs @@ -6,7 +6,7 @@ using System.Text; namespace AssetStudio { - class AssetBundle + public sealed class AssetBundle : NamedObject { public class AssetInfo { @@ -21,15 +21,10 @@ namespace AssetStudio public AssetInfo second; } - public List m_Container = new List(); - public AssetBundle(AssetPreloadData preloadData) + public AssetBundle(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - var m_Name = reader.ReadAlignedString(); var size = reader.ReadInt32(); for (int i = 0; i < size; i++) { diff --git a/AssetStudio/Classes/AudioClip.cs b/AssetStudio/Classes/AudioClip.cs index 0b2585c..8b1f0de 100644 --- a/AssetStudio/Classes/AudioClip.cs +++ b/AssetStudio/Classes/AudioClip.cs @@ -6,7 +6,7 @@ using System.Text; namespace AssetStudio { - class AudioClip + public sealed class AudioClip : NamedObject { public string m_Name; public int m_Format; @@ -32,30 +32,21 @@ namespace AssetStudio public long m_Size; public byte[] m_AudioData; - public bool version5; - - public AudioClip(AssetPreloadData preloadData, bool readSwitch) + public AudioClip(AssetPreloadData preloadData, bool readData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - version5 = sourceFile.version[0] >= 5; - if (sourceFile.version[0] < 5) + if (version[0] < 5) { - - m_Format = reader.ReadInt32(); //channels? + m_Format = reader.ReadInt32(); m_Type = (AudioType)reader.ReadInt32(); m_3D = reader.ReadBoolean(); m_UseHardware = reader.ReadBoolean(); reader.AlignStream(4); - if (sourceFile.version[0] >= 4 || (sourceFile.version[0] == 3 && sourceFile.version[1] >= 2)) //3.2.0 to 5 + if (version[0] >= 4 || (version[0] == 3 && version[1] >= 2)) //3.2.0 to 5 { int m_Stream = reader.ReadInt32(); m_Size = reader.ReadInt32(); var tsize = m_Size % 4 != 0 ? m_Size + 4 - m_Size % 4 : m_Size; - //TODO: Need more test if (preloadData.Size + preloadData.Offset - reader.Position != tsize) { m_Offset = reader.ReadInt32(); @@ -69,7 +60,7 @@ namespace AssetStudio } else { - m_LoadType = reader.ReadInt32(); //Decompress on load, Compressed in memory, Streaming + m_LoadType = reader.ReadInt32(); m_Channels = reader.ReadInt32(); m_Frequency = reader.ReadInt32(); m_BitsPerSample = reader.ReadInt32(); @@ -89,7 +80,7 @@ namespace AssetStudio m_CompressionFormat = (AudioCompressionFormat)reader.ReadInt32(); } - if (readSwitch) + if (readData) { if (!string.IsNullOrEmpty(m_Source)) { @@ -101,166 +92,6 @@ namespace AssetStudio m_AudioData = reader.ReadBytes((int)m_Size); } } - else - { - preloadData.InfoText = "Compression format: "; - - if (sourceFile.version[0] < 5) - { - switch (m_Type) - { - case AudioType.ACC: - preloadData.extension = ".m4a"; - preloadData.InfoText += "Acc"; - break; - case AudioType.AIFF: - preloadData.extension = ".aif"; - preloadData.InfoText += "AIFF"; - break; - case AudioType.IT: - preloadData.extension = ".it"; - preloadData.InfoText += "Impulse tracker"; - break; - case AudioType.MOD: - preloadData.extension = ".mod"; - preloadData.InfoText += "Protracker / Fasttracker MOD"; - break; - case AudioType.MPEG: - preloadData.extension = ".mp3"; - preloadData.InfoText += "MP2/MP3 MPEG"; - break; - case AudioType.OGGVORBIS: - preloadData.extension = ".ogg"; - preloadData.InfoText += "Ogg vorbis"; - break; - case AudioType.S3M: - preloadData.extension = ".s3m"; - preloadData.InfoText += "ScreamTracker 3"; - break; - case AudioType.WAV: - preloadData.extension = ".wav"; - preloadData.InfoText += "Microsoft WAV"; - break; - case AudioType.XM: - preloadData.extension = ".xm"; - preloadData.InfoText += "FastTracker 2 XM"; - break; - case AudioType.XMA: - preloadData.extension = ".wav"; - preloadData.InfoText += "Xbox360 XMA"; - break; - case AudioType.VAG: - preloadData.extension = ".vag"; - preloadData.InfoText += "PlayStation Portable ADPCM"; - break; - case AudioType.AUDIOQUEUE: - preloadData.extension = ".fsb"; - preloadData.InfoText += "iPhone"; - break; - } - - } - else - { - switch (m_CompressionFormat) - { - case AudioCompressionFormat.PCM: - preloadData.extension = ".fsb"; - preloadData.InfoText += "PCM"; - break; - case AudioCompressionFormat.Vorbis: - preloadData.extension = ".fsb"; - preloadData.InfoText += "Vorbis"; - break; - case AudioCompressionFormat.ADPCM: - preloadData.extension = ".fsb"; - preloadData.InfoText += "ADPCM"; - break; - case AudioCompressionFormat.MP3: - preloadData.extension = ".fsb"; - preloadData.InfoText += "MP3"; - break; - case AudioCompressionFormat.VAG: - preloadData.extension = ".vag"; - preloadData.InfoText += "PlayStation Portable ADPCM"; - break; - case AudioCompressionFormat.HEVAG: - preloadData.extension = ".vag"; - preloadData.InfoText += "PSVita ADPCM"; - break; - case AudioCompressionFormat.XMA: - preloadData.extension = ".wav"; - preloadData.InfoText += "Xbox360 XMA"; - break; - case AudioCompressionFormat.AAC: - preloadData.extension = ".m4a"; - preloadData.InfoText += "AAC"; - break; - case AudioCompressionFormat.GCADPCM: - preloadData.extension = ".fsb"; - preloadData.InfoText += "Nintendo 3DS/Wii DSP"; - break; - case AudioCompressionFormat.ATRAC9: - preloadData.extension = ".at9"; - preloadData.InfoText += "PSVita ATRAC9"; - break; - } - } - - if (preloadData.extension == null) - { - preloadData.extension = ".AudioClip"; - preloadData.InfoText += "Unknown"; - } - - preloadData.InfoText += "\n3D: " + m_3D; - - preloadData.Text = m_Name; - if (m_Source != null) - preloadData.fullSize = preloadData.Size + (int)m_Size; - } - } - - public bool IsFMODSupport - { - get - { - if (!version5) - { - switch (m_Type) - { - case AudioType.AIFF: - case AudioType.IT: - case AudioType.MOD: - case AudioType.S3M: - case AudioType.XM: - case AudioType.XMA: - case AudioType.VAG: - case AudioType.AUDIOQUEUE: - return true; - default: - return false; - } - } - else - { - switch (m_CompressionFormat) - { - case AudioCompressionFormat.PCM: - case AudioCompressionFormat.Vorbis: - case AudioCompressionFormat.ADPCM: - case AudioCompressionFormat.MP3: - case AudioCompressionFormat.VAG: - case AudioCompressionFormat.HEVAG: - case AudioCompressionFormat.XMA: - case AudioCompressionFormat.GCADPCM: - case AudioCompressionFormat.ATRAC9: - return true; - default: - return false; - } - } - } } } diff --git a/AssetStudio/Classes/Avatar.cs b/AssetStudio/Classes/Avatar.cs index e9e0b2b..1e4a7d6 100644 --- a/AssetStudio/Classes/Avatar.cs +++ b/AssetStudio/Classes/Avatar.cs @@ -325,21 +325,14 @@ namespace AssetStudio } } - public class Avatar + public sealed class Avatar : NamedObject { - public string m_Name { get; set; } public uint m_AvatarSize { get; set; } public AvatarConstant m_Avatar { get; set; } public List> m_TOS { get; set; } - public Avatar(AssetPreloadData preloadData) + public Avatar(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = sourceFile.version; - var reader = preloadData.InitReader(); - reader.Position = preloadData.Offset; - - m_Name = reader.ReadAlignedString(); m_AvatarSize = reader.ReadUInt32(); m_Avatar = new AvatarConstant(reader, version); diff --git a/AssetStudio/Classes/Behaviour.cs b/AssetStudio/Classes/Behaviour.cs new file mode 100644 index 0000000..2cb5355 --- /dev/null +++ b/AssetStudio/Classes/Behaviour.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public abstract class Behaviour : Component + { + public byte m_Enabled; + + protected Behaviour(AssetPreloadData preloadData) : base(preloadData) + { + m_Enabled = reader.ReadByte(); + reader.AlignStream(4); + } + } +} diff --git a/AssetStudio/Classes/BuildSettings.cs b/AssetStudio/Classes/BuildSettings.cs index 911fe8e..ae748d5 100644 --- a/AssetStudio/Classes/BuildSettings.cs +++ b/AssetStudio/Classes/BuildSettings.cs @@ -5,32 +5,40 @@ using System.Text; namespace AssetStudio { - public class BuildSettings + public sealed class BuildSettings : Object { public string m_Version; - public BuildSettings(AssetPreloadData preloadData) + public BuildSettings(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - int levels = reader.ReadInt32(); - for (int l = 0; l < levels; l++) { string level = reader.ReadAlignedString(); } - - if (sourceFile.version[0] == 5) + for (int l = 0; l < levels; l++) { - int preloadedPlugins = reader.ReadInt32(); - for (int l = 0; l < preloadedPlugins; l++) { string preloadedPlugin = reader.ReadAlignedString(); } + var level = reader.ReadAlignedString(); } - reader.Position += 4; //bool flags - if (sourceFile.fileGen >= 8) { reader.Position += 4; } //bool flags - if (sourceFile.fileGen >= 9) { reader.Position += 4; } //bool flags - if (sourceFile.version[0] == 5 || - (sourceFile.version[0] == 4 && (sourceFile.version[1] >= 3 || - (sourceFile.version[1] == 2 && sourceFile.buildType[0] != "a")))) - { reader.Position += 4; } //bool flags + if (version[0] >= 5) + { + int preloadedPlugins = reader.ReadInt32(); + for (int l = 0; l < preloadedPlugins; l++) + { + var preloadedPlugin = reader.ReadAlignedString(); + } + } + reader.Position += 4; + if (version[0] >= 3) //3.0 and up + { + reader.Position += 4; + } + if (version[0] > 3 || (version[0] == 3 && version[1] >= 5))//3.5 and up + { + reader.Position += 4; + } + if (version[0] >= 5 || (version[0] == 4 && (version[1] >= 3 || (version[1] == 2 && buildType[0] != "a")))) + { + reader.Position += 4; + } m_Version = reader.ReadAlignedString(); } } diff --git a/AssetStudio/Classes/Component.cs b/AssetStudio/Classes/Component.cs new file mode 100644 index 0000000..08712ca --- /dev/null +++ b/AssetStudio/Classes/Component.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public abstract class Component : EditorExtension + { + public PPtr m_GameObject; + + protected Component(AssetPreloadData preloadData) : base(preloadData) + { + m_GameObject = sourceFile.ReadPPtr(); + } + } +} diff --git a/AssetStudio/Classes/EditorExtension.cs b/AssetStudio/Classes/EditorExtension.cs new file mode 100644 index 0000000..ddc798b --- /dev/null +++ b/AssetStudio/Classes/EditorExtension.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public abstract class EditorExtension : Object + { + protected EditorExtension(AssetPreloadData preloadData) : base(preloadData) + { + if (platform == BuildTarget.NoTarget) + { + var m_PrefabParentObject = sourceFile.ReadPPtr(); + var m_PrefabInternal = sourceFile.ReadPPtr(); + } + } + } +} diff --git a/AssetStudio/Classes/Font.cs b/AssetStudio/Classes/Font.cs index f990254..57ccd83 100644 --- a/AssetStudio/Classes/Font.cs +++ b/AssetStudio/Classes/Font.cs @@ -5,147 +5,116 @@ using System.Text; namespace AssetStudio { - class UFont + public sealed class Font : NamedObject { - public string m_Name; public byte[] m_FontData; - public UFont(AssetPreloadData preloadData, bool readSwitch) + public Font(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = sourceFile.version; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - - if (readSwitch) + if ((version[0] == 5 && version[1] >= 5) || version[0] > 5)//5.5 and up { - if ((version[0] == 5 && version[1] >= 5) || version[0] > 5)//5.5 and up + var m_LineSpacing = reader.ReadSingle(); + var m_DefaultMaterial = sourceFile.ReadPPtr(); + var m_FontSize = reader.ReadSingle(); + var m_Texture = sourceFile.ReadPPtr(); + int m_AsciiStartOffset = reader.ReadInt32(); + var m_Tracking = reader.ReadSingle(); + var m_CharacterSpacing = reader.ReadInt32(); + var m_CharacterPadding = reader.ReadInt32(); + var m_ConvertCase = reader.ReadInt32(); + int m_CharacterRects_size = reader.ReadInt32(); + for (int i = 0; i < m_CharacterRects_size; i++) { - var m_LineSpacing = reader.ReadSingle(); - var m_DefaultMaterial = sourceFile.ReadPPtr(); - var m_FontSize = reader.ReadSingle(); - var m_Texture = sourceFile.ReadPPtr(); - int m_AsciiStartOffset = reader.ReadInt32(); - var m_Tracking = reader.ReadSingle(); - var m_CharacterSpacing = reader.ReadInt32(); - var m_CharacterPadding = reader.ReadInt32(); - var m_ConvertCase = reader.ReadInt32(); - int m_CharacterRects_size = reader.ReadInt32(); - for (int i = 0; i < m_CharacterRects_size; i++) - { - reader.Position += 44;//CharacterInfo data 41 - } - int m_KerningValues_size = reader.ReadInt32(); - for (int i = 0; i < m_KerningValues_size; i++) - { - reader.Position += 8; - } - var m_PixelScale = reader.ReadSingle(); - int m_FontData_size = reader.ReadInt32(); - if (m_FontData_size > 0) - { - m_FontData = reader.ReadBytes(m_FontData_size); - if (m_FontData[0] == 79 && m_FontData[1] == 84 && m_FontData[2] == 84 && m_FontData[3] == 79) - { - preloadData.extension = ".otf"; - } - else - { - preloadData.extension = ".ttf"; - } - } + reader.Position += 44;//CharacterInfo data 41 } - else + int m_KerningValues_size = reader.ReadInt32(); + for (int i = 0; i < m_KerningValues_size; i++) { - int m_AsciiStartOffset = reader.ReadInt32(); - - if (version[0] <= 3) - { - int m_FontCountX = reader.ReadInt32(); - int m_FontCountY = reader.ReadInt32(); - } - - float m_Kerning = reader.ReadSingle(); - float m_LineSpacing = reader.ReadSingle(); - - if (version[0] <= 3) - { - int m_PerCharacterKerning_size = reader.ReadInt32(); - for (int i = 0; i < m_PerCharacterKerning_size; i++) - { - int first = reader.ReadInt32(); - float second = reader.ReadSingle(); - } - } - else - { - int m_CharacterSpacing = reader.ReadInt32(); - int m_CharacterPadding = reader.ReadInt32(); - } - - int m_ConvertCase = reader.ReadInt32(); - PPtr m_DefaultMaterial = sourceFile.ReadPPtr(); - - int m_CharacterRects_size = reader.ReadInt32(); - for (int i = 0; i < m_CharacterRects_size; i++) - { - int index = reader.ReadInt32(); - //Rectf uv - float uvx = reader.ReadSingle(); - float uvy = reader.ReadSingle(); - float uvwidth = reader.ReadSingle(); - float uvheight = reader.ReadSingle(); - //Rectf vert - float vertx = reader.ReadSingle(); - float verty = reader.ReadSingle(); - float vertwidth = reader.ReadSingle(); - float vertheight = reader.ReadSingle(); - float width = reader.ReadSingle(); - - if (version[0] >= 4) - { - var flipped = reader.ReadBoolean(); - reader.AlignStream(4); - } - } - - PPtr m_Texture = sourceFile.ReadPPtr(); - - int m_KerningValues_size = reader.ReadInt32(); - for (int i = 0; i < m_KerningValues_size; i++) - { - int pairfirst = reader.ReadInt16(); - int pairsecond = reader.ReadInt16(); - float second = reader.ReadSingle(); - } - - if (version[0] <= 3) - { - var m_GridFont = reader.ReadBoolean(); - reader.AlignStream(4); - } - else { float m_PixelScale = reader.ReadSingle(); } - - int m_FontData_size = reader.ReadInt32(); - if (m_FontData_size > 0) - { - m_FontData = reader.ReadBytes(m_FontData_size); - - if (m_FontData[0] == 79 && m_FontData[1] == 84 && m_FontData[2] == 84 && m_FontData[3] == 79) - { - preloadData.extension = ".otf"; - } - else - { - preloadData.extension = ".ttf"; - } - } + reader.Position += 8; + } + var m_PixelScale = reader.ReadSingle(); + int m_FontData_size = reader.ReadInt32(); + if (m_FontData_size > 0) + { + m_FontData = reader.ReadBytes(m_FontData_size); } } else { - preloadData.Text = m_Name; + int m_AsciiStartOffset = reader.ReadInt32(); + + if (version[0] <= 3) + { + int m_FontCountX = reader.ReadInt32(); + int m_FontCountY = reader.ReadInt32(); + } + + float m_Kerning = reader.ReadSingle(); + float m_LineSpacing = reader.ReadSingle(); + + if (version[0] <= 3) + { + int m_PerCharacterKerning_size = reader.ReadInt32(); + for (int i = 0; i < m_PerCharacterKerning_size; i++) + { + int first = reader.ReadInt32(); + float second = reader.ReadSingle(); + } + } + else + { + int m_CharacterSpacing = reader.ReadInt32(); + int m_CharacterPadding = reader.ReadInt32(); + } + + int m_ConvertCase = reader.ReadInt32(); + PPtr m_DefaultMaterial = sourceFile.ReadPPtr(); + + int m_CharacterRects_size = reader.ReadInt32(); + for (int i = 0; i < m_CharacterRects_size; i++) + { + int index = reader.ReadInt32(); + //Rectf uv + float uvx = reader.ReadSingle(); + float uvy = reader.ReadSingle(); + float uvwidth = reader.ReadSingle(); + float uvheight = reader.ReadSingle(); + //Rectf vert + float vertx = reader.ReadSingle(); + float verty = reader.ReadSingle(); + float vertwidth = reader.ReadSingle(); + float vertheight = reader.ReadSingle(); + float width = reader.ReadSingle(); + + if (version[0] >= 4) + { + var flipped = reader.ReadBoolean(); + reader.AlignStream(4); + } + } + + PPtr m_Texture = sourceFile.ReadPPtr(); + + int m_KerningValues_size = reader.ReadInt32(); + for (int i = 0; i < m_KerningValues_size; i++) + { + int pairfirst = reader.ReadInt16(); + int pairsecond = reader.ReadInt16(); + float second = reader.ReadSingle(); + } + + if (version[0] <= 3) + { + var m_GridFont = reader.ReadBoolean(); + reader.AlignStream(4); + } + else { float m_PixelScale = reader.ReadSingle(); } + + int m_FontData_size = reader.ReadInt32(); + if (m_FontData_size > 0) + { + m_FontData = reader.ReadBytes(m_FontData_size); + } } } } diff --git a/AssetStudio/Classes/GameObject.cs b/AssetStudio/Classes/GameObject.cs index c4b9a46..46efe46 100644 --- a/AssetStudio/Classes/GameObject.cs +++ b/AssetStudio/Classes/GameObject.cs @@ -6,58 +6,39 @@ using System.Windows.Forms; namespace AssetStudio { - public class GameObject : TreeNode + public sealed class GameObject : EditorExtension { - public AssetPreloadData asset; public List m_Components; - public int m_Layer; public string m_Name; - public ushort m_Tag; - public bool m_IsActive; - - public string uniqueID = "0";//this way file and folder TreeNodes will be treated as FBX scene - public PPtr m_Transform; public PPtr m_MeshRenderer; public PPtr m_MeshFilter; public PPtr m_SkinnedMeshRenderer; public PPtr m_Animator; - public GameObject(AssetPreloadData preloadData) + public GameObject(AssetPreloadData preloadData) : base(preloadData) { - if (preloadData != null) + int m_Component_size = reader.ReadInt32(); + m_Components = new List(m_Component_size); + for (int j = 0; j < m_Component_size; j++) { - asset = preloadData; - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - uniqueID = preloadData.uniqueID; - - int m_Component_size = reader.ReadInt32(); - m_Components = new List(m_Component_size); - for (int j = 0; j < m_Component_size; j++) + if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up { - if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up - { - m_Components.Add(sourceFile.ReadPPtr()); - } - else - { - int first = reader.ReadInt32(); - m_Components.Add(sourceFile.ReadPPtr()); - } + m_Components.Add(sourceFile.ReadPPtr()); } + else + { + int first = reader.ReadInt32(); + m_Components.Add(sourceFile.ReadPPtr()); + } + } - m_Layer = reader.ReadInt32(); - m_Name = reader.ReadAlignedString(); - if (m_Name == "") { m_Name = "GameObject #" + uniqueID; } - m_Tag = reader.ReadUInt16(); - m_IsActive = reader.ReadBoolean(); + var m_Layer = reader.ReadInt32(); + m_Name = reader.ReadAlignedString(); - Text = m_Name; - preloadData.Text = m_Name; - //name should be unique - Name = uniqueID; + if (m_Name == "") + { + m_Name = "GameObject #" + preloadData.uniqueID; } } } diff --git a/AssetStudio/Classes/Material.cs b/AssetStudio/Classes/Material.cs index 5c28e92..a44f033 100644 --- a/AssetStudio/Classes/Material.cs +++ b/AssetStudio/Classes/Material.cs @@ -5,7 +5,7 @@ using System.Text; namespace AssetStudio { - class TexEnv + public class TexEnv { public string name; public PPtr m_Texture; @@ -13,21 +13,20 @@ namespace AssetStudio public float[] m_Offset; } - class strFloatPair + public class strFloatPair { public string first; public float second; } - class strColorPair + public class strColorPair { public string first; public float[] second; } - class Material + public sealed class Material : NamedObject { - public string m_Name; public PPtr m_Shader; public string[] m_ShaderKeywords; public int m_CustomRenderQueue; @@ -35,12 +34,8 @@ namespace AssetStudio public strFloatPair[] m_Floats; public strColorPair[] m_Colors; - public Material(AssetPreloadData preloadData) + public Material(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); m_Shader = sourceFile.ReadPPtr(); if (sourceFile.version[0] == 4 && (sourceFile.version[1] >= 2 || (sourceFile.version[1] == 1 && sourceFile.buildType[0] != "a"))) diff --git a/AssetStudio/Classes/Mesh.cs b/AssetStudio/Classes/Mesh.cs index dc63d5d..e3583c1 100644 --- a/AssetStudio/Classes/Mesh.cs +++ b/AssetStudio/Classes/Mesh.cs @@ -6,10 +6,8 @@ using SharpDX; namespace AssetStudio { - public class Mesh + public sealed class Mesh : NamedObject { - private EndianBinaryReader reader; - public string m_Name; public List m_SubMeshes = new List(); public List m_Indices = new List(); //use a list because I don't always know the facecount for triangle strips public List m_materialIDs = new List(); @@ -238,178 +236,229 @@ namespace AssetStudio } } - public Mesh(AssetPreloadData preloadData, bool readSwitch) + public Mesh(AssetPreloadData preloadData) : base(preloadData) { - var version = preloadData.sourceFile.version; - reader = preloadData.InitReader(); - bool m_Use16BitIndices = true; //3.5.0 and newer always uses 16bit indices uint m_MeshCompression = 0; - if (preloadData.sourceFile.platform == -2) + if (version[0] < 3 || (version[0] == 3 && version[1] < 5)) { - uint m_ObjectHideFlags = reader.ReadUInt32(); - PPtr m_PrefabParentObject = preloadData.sourceFile.ReadPPtr(); - PPtr m_PrefabInternal = preloadData.sourceFile.ReadPPtr(); + m_Use16BitIndices = reader.ReadBoolean(); + reader.Position += 3; } - m_Name = reader.ReadAlignedString(); - - if (readSwitch) + #region Index Buffer for 2.5.1 and earlier + if (version[0] == 2 && version[1] <= 5) { + int m_IndexBuffer_size = reader.ReadInt32(); - if (version[0] < 3 || (version[0] == 3 && version[1] < 5)) + if (m_Use16BitIndices) { - m_Use16BitIndices = reader.ReadBoolean(); - reader.Position += 3; + m_IndexBuffer = new uint[m_IndexBuffer_size / 2]; + for (int i = 0; i < m_IndexBuffer_size / 2; i++) { m_IndexBuffer[i] = reader.ReadUInt16(); } + reader.AlignStream(4); + } + else + { + m_IndexBuffer = new uint[m_IndexBuffer_size / 4]; + for (int i = 0; i < m_IndexBuffer_size / 4; i++) { m_IndexBuffer[i] = reader.ReadUInt32(); } + } + } + #endregion + + #region subMeshes + int m_SubMeshes_size = reader.ReadInt32(); + for (int s = 0; s < m_SubMeshes_size; s++) + { + m_SubMeshes.Add(new SubMesh()); + m_SubMeshes[s].firstByte = reader.ReadUInt32(); + m_SubMeshes[s].indexCount = reader.ReadUInt32(); //what is this in case of triangle strips? + m_SubMeshes[s].topology = reader.ReadInt32(); //isTriStrip + if (version[0] < 4) + { + m_SubMeshes[s].triangleCount = reader.ReadUInt32(); + } + if (version[0] >= 3) + { + if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3))//2017.3 and up + { + var baseVertex = reader.ReadUInt32(); + } + m_SubMeshes[s].firstVertex = reader.ReadUInt32(); + m_SubMeshes[s].vertexCount = reader.ReadUInt32(); + reader.Position += 24; //Axis-Aligned Bounding Box + } + } + #endregion + + #region BlendShapeData for 4.1.0 to 4.2.x, excluding 4.1.0 alpha + if (version[0] == 4 && ((version[1] == 1 && preloadData.sourceFile.buildType[0] != "a") || (version[1] > 1 && version[1] <= 2))) + { + int m_Shapes_size = reader.ReadInt32(); + if (m_Shapes_size > 0) + { + //bool stop = true; + } + for (int s = 0; s < m_Shapes_size; s++) //untested + { + string shape_name = reader.ReadAlignedString(); + reader.Position += 36; //uint firstVertex, vertexCount; Vector3f aabbMinDelta, aabbMaxDelta; bool hasNormals, hasTangents } - #region Index Buffer for 2.5.1 and earlier - if (version[0] == 2 && version[1] <= 5) + int m_ShapeVertices_size = reader.ReadInt32(); + reader.Position += m_ShapeVertices_size * 40; //vertex positions, normals, tangents & uint index + } + #endregion + #region BlendShapeData and BindPose for 4.3.0 and later + else if (version[0] >= 5 || (version[0] == 4 && version[1] >= 3)) + { + m_Shapes = new BlendShapeData(reader); + + m_BindPose = new float[reader.ReadInt32()][,]; + for (int i = 0; i < m_BindPose.Length; i++) { - int m_IndexBuffer_size = reader.ReadInt32(); - - if (m_Use16BitIndices) - { - m_IndexBuffer = new uint[m_IndexBuffer_size / 2]; - for (int i = 0; i < m_IndexBuffer_size / 2; i++) { m_IndexBuffer[i] = reader.ReadUInt16(); } - reader.AlignStream(4); - } - else - { - m_IndexBuffer = new uint[m_IndexBuffer_size / 4]; - for (int i = 0; i < m_IndexBuffer_size / 4; i++) { m_IndexBuffer[i] = reader.ReadUInt32(); } - } - } - #endregion - - #region subMeshes - int m_SubMeshes_size = reader.ReadInt32(); - for (int s = 0; s < m_SubMeshes_size; s++) - { - m_SubMeshes.Add(new SubMesh()); - m_SubMeshes[s].firstByte = reader.ReadUInt32(); - m_SubMeshes[s].indexCount = reader.ReadUInt32(); //what is this in case of triangle strips? - m_SubMeshes[s].topology = reader.ReadInt32(); //isTriStrip - if (version[0] < 4) - { - m_SubMeshes[s].triangleCount = reader.ReadUInt32(); - } - if (version[0] >= 3) - { - if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3))//2017.3 and up - { - var baseVertex = reader.ReadUInt32(); - } - m_SubMeshes[s].firstVertex = reader.ReadUInt32(); - m_SubMeshes[s].vertexCount = reader.ReadUInt32(); - reader.Position += 24; //Axis-Aligned Bounding Box - } - } - #endregion - - #region BlendShapeData for 4.1.0 to 4.2.x, excluding 4.1.0 alpha - if (version[0] == 4 && ((version[1] == 1 && preloadData.sourceFile.buildType[0] != "a") || (version[1] > 1 && version[1] <= 2))) - { - int m_Shapes_size = reader.ReadInt32(); - if (m_Shapes_size > 0) - { - //bool stop = true; - } - for (int s = 0; s < m_Shapes_size; s++) //untested - { - string shape_name = reader.ReadAlignedString(); - reader.Position += 36; //uint firstVertex, vertexCount; Vector3f aabbMinDelta, aabbMaxDelta; bool hasNormals, hasTangents - } - - int m_ShapeVertices_size = reader.ReadInt32(); - reader.Position += m_ShapeVertices_size * 40; //vertex positions, normals, tangents & uint index - } - #endregion - #region BlendShapeData and BindPose for 4.3.0 and later - else if (version[0] >= 5 || (version[0] == 4 && version[1] >= 3)) - { - m_Shapes = new BlendShapeData(reader); - - m_BindPose = new float[reader.ReadInt32()][,]; - for (int i = 0; i < m_BindPose.Length; i++) - { - m_BindPose[i] = new[,] { + m_BindPose[i] = new[,] { { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() } }; - } - - int m_BoneNameHashes_size = reader.ReadInt32(); - m_BoneNameHashes = new uint[m_BoneNameHashes_size]; - for (int i = 0; i < m_BoneNameHashes_size; i++) - { - m_BoneNameHashes[i] = reader.ReadUInt32(); - } - - uint m_RootBoneNameHash = reader.ReadUInt32(); } - #endregion - #region Index Buffer for 2.6.0 and later - if (version[0] >= 3 || (version[0] == 2 && version[1] >= 6)) + int m_BoneNameHashes_size = reader.ReadInt32(); + m_BoneNameHashes = new uint[m_BoneNameHashes_size]; + for (int i = 0; i < m_BoneNameHashes_size; i++) { - m_MeshCompression = reader.ReadByte(); - if (version[0] >= 4) + m_BoneNameHashes[i] = reader.ReadUInt32(); + } + + uint m_RootBoneNameHash = reader.ReadUInt32(); + } + #endregion + + #region Index Buffer for 2.6.0 and later + if (version[0] >= 3 || (version[0] == 2 && version[1] >= 6)) + { + m_MeshCompression = reader.ReadByte(); + if (version[0] >= 4) + { + if (version[0] < 5) { - if (version[0] < 5) - { - uint m_StreamCompression = reader.ReadByte(); - } - bool m_IsReadable = reader.ReadBoolean(); - bool m_KeepVertices = reader.ReadBoolean(); - bool m_KeepIndices = reader.ReadBoolean(); - if (preloadData.HasStructMember("m_UsedForStaticMeshColliderOnly")) - { - var m_UsedForStaticMeshColliderOnly = reader.ReadBoolean(); - } + uint m_StreamCompression = reader.ReadByte(); } + bool m_IsReadable = reader.ReadBoolean(); + bool m_KeepVertices = reader.ReadBoolean(); + bool m_KeepIndices = reader.ReadBoolean(); + if (preloadData.HasStructMember("m_UsedForStaticMeshColliderOnly")) + { + var m_UsedForStaticMeshColliderOnly = reader.ReadBoolean(); + } + } + reader.AlignStream(4); + //This is a bug fixed in 2017.3.1p1 and later versions + if ((version[0] > 2017 || (version[0] == 2017 && version[1] >= 4)) || //2017.4 + ((version[0] == 2017 && version[1] == 3 && version[2] == 1) && preloadData.sourceFile.buildType[0] == "p") || //fixed after 2017.3.1px + ((version[0] == 2017 && version[1] == 3) && m_MeshCompression == 0))//2017.3.xfx with no compression + { + var m_IndexFormat = reader.ReadInt32(); + } + int m_IndexBuffer_size = reader.ReadInt32(); + + if (m_Use16BitIndices) + { + m_IndexBuffer = new uint[m_IndexBuffer_size / 2]; + for (int i = 0; i < m_IndexBuffer_size / 2; i++) { m_IndexBuffer[i] = reader.ReadUInt16(); } reader.AlignStream(4); - //This is a bug fixed in 2017.3.1p1 and later versions - if ((version[0] > 2017 || (version[0] == 2017 && version[1] >= 4)) || //2017.4 - ((version[0] == 2017 && version[1] == 3 && version[2] == 1) && preloadData.sourceFile.buildType[0] == "p") || //fixed after 2017.3.1px - ((version[0] == 2017 && version[1] == 3) && m_MeshCompression == 0))//2017.3.xfx with no compression - { - var m_IndexFormat = reader.ReadInt32(); - } - int m_IndexBuffer_size = reader.ReadInt32(); + } + else + { + m_IndexBuffer = new uint[m_IndexBuffer_size / 4]; + for (int i = 0; i < m_IndexBuffer_size / 4; i++) { m_IndexBuffer[i] = reader.ReadUInt32(); } + reader.AlignStream(4);//untested + } + } + #endregion - if (m_Use16BitIndices) + #region Vertex Buffer for 3.4.2 and earlier + if (version[0] < 3 || (version[0] == 3 && version[1] < 5)) + { + m_VertexCount = reader.ReadInt32(); + m_Vertices = new float[m_VertexCount * 3]; + for (int v = 0; v < m_VertexCount * 3; v++) { m_Vertices[v] = reader.ReadSingle(); } + + m_Skin = new List[reader.ReadInt32()]; + for (int s = 0; s < m_Skin.Length; s++) + { + m_Skin[s] = new List(); + for (int i = 0; i < 4; i++) { m_Skin[s].Add(new BoneInfluence() { weight = reader.ReadSingle() }); } + for (int i = 0; i < 4; i++) { m_Skin[s][i].boneIndex = reader.ReadInt32(); } + } + + m_BindPose = new float[reader.ReadInt32()][,]; + for (int i = 0; i < m_BindPose.Length; i++) + { + m_BindPose[i] = new[,] { + { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, + { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, + { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, + { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() } }; + } + + int m_UV1_size = reader.ReadInt32(); + m_UV1 = new float[m_UV1_size * 2]; + for (int v = 0; v < m_UV1_size * 2; v++) { m_UV1[v] = reader.ReadSingle(); } + + int m_UV2_size = reader.ReadInt32(); + m_UV2 = new float[m_UV2_size * 2]; + for (int v = 0; v < m_UV2_size * 2; v++) { m_UV2[v] = reader.ReadSingle(); } + + if (version[0] == 2 && version[1] <= 5) + { + int m_TangentSpace_size = reader.ReadInt32(); + m_Normals = new float[m_TangentSpace_size * 3]; + for (int v = 0; v < m_TangentSpace_size; v++) { - m_IndexBuffer = new uint[m_IndexBuffer_size / 2]; - for (int i = 0; i < m_IndexBuffer_size / 2; i++) { m_IndexBuffer[i] = reader.ReadUInt16(); } - reader.AlignStream(4); - } - else - { - m_IndexBuffer = new uint[m_IndexBuffer_size / 4]; - for (int i = 0; i < m_IndexBuffer_size / 4; i++) { m_IndexBuffer[i] = reader.ReadUInt32(); } - reader.AlignStream(4);//untested + m_Normals[v * 3] = reader.ReadSingle(); + m_Normals[v * 3 + 1] = reader.ReadSingle(); + m_Normals[v * 3 + 2] = reader.ReadSingle(); + reader.Position += 16; //Vector3f tangent & float handedness } } - #endregion - - #region Vertex Buffer for 3.4.2 and earlier - if (version[0] < 3 || (version[0] == 3 && version[1] < 5)) + else //2.6.0 and later { - m_VertexCount = reader.ReadInt32(); - m_Vertices = new float[m_VertexCount * 3]; - for (int v = 0; v < m_VertexCount * 3; v++) { m_Vertices[v] = reader.ReadSingle(); } + int m_Tangents_size = reader.ReadInt32(); + reader.Position += m_Tangents_size * 16; //Vector4f + int m_Normals_size = reader.ReadInt32(); + m_Normals = new float[m_Normals_size * 3]; + for (int v = 0; v < m_Normals_size * 3; v++) { m_Normals[v] = reader.ReadSingle(); } + } + } + #endregion + #region Vertex Buffer for 3.5.0 and later + else + { + #region read vertex stream + + if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down + { m_Skin = new List[reader.ReadInt32()]; for (int s = 0; s < m_Skin.Length; s++) { m_Skin[s] = new List(); - for (int i = 0; i < 4; i++) { m_Skin[s].Add(new BoneInfluence() { weight = reader.ReadSingle() }); } - for (int i = 0; i < 4; i++) { m_Skin[s][i].boneIndex = reader.ReadInt32(); } - } + for (int i = 0; i < 4; i++) + { + m_Skin[s].Add(new BoneInfluence() { weight = reader.ReadSingle() }); + } + for (int i = 0; i < 4; i++) + { + m_Skin[s][i].boneIndex = reader.ReadInt32(); + } + } + } + + if (version[0] == 3 || (version[0] == 4 && version[1] <= 2)) + { m_BindPose = new float[reader.ReadInt32()][,]; for (int i = 0; i < m_BindPose.Length; i++) { @@ -419,186 +468,229 @@ namespace AssetStudio { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() } }; } + } - int m_UV1_size = reader.ReadInt32(); - m_UV1 = new float[m_UV1_size * 2]; - for (int v = 0; v < m_UV1_size * 2; v++) { m_UV1[v] = reader.ReadSingle(); } + if (version[0] < 2018)//2018 down + { + var m_CurrentChannels = reader.ReadInt32(); + } - int m_UV2_size = reader.ReadInt32(); - m_UV2 = new float[m_UV2_size * 2]; - for (int v = 0; v < m_UV2_size * 2; v++) { m_UV2[v] = reader.ReadSingle(); } + m_VertexCount = reader.ReadInt32(); + int streamCount = 0; - if (version[0] == 2 && version[1] <= 5) + #region streams for 3.5.0 - 3.5.7 + if (version[0] < 4) + { + if (m_MeshCompression != 0 && version[2] == 0) //special case not just on platform 9 { - int m_TangentSpace_size = reader.ReadInt32(); - m_Normals = new float[m_TangentSpace_size * 3]; - for (int v = 0; v < m_TangentSpace_size; v++) - { - m_Normals[v * 3] = reader.ReadSingle(); - m_Normals[v * 3 + 1] = reader.ReadSingle(); - m_Normals[v * 3 + 2] = reader.ReadSingle(); - reader.Position += 16; //Vector3f tangent & float handedness - } + reader.Position += 12; } - else //2.6.0 and later + else { - int m_Tangents_size = reader.ReadInt32(); - reader.Position += m_Tangents_size * 16; //Vector4f - - int m_Normals_size = reader.ReadInt32(); - m_Normals = new float[m_Normals_size * 3]; - for (int v = 0; v < m_Normals_size * 3; v++) { m_Normals[v] = reader.ReadSingle(); } + m_Streams = new StreamInfo[4]; + for (int s = 0; s < 4; s++) + { + m_Streams[s] = new StreamInfo(); + m_Streams[s].channelMask = new BitArray(new int[1] { reader.ReadInt32() }); + m_Streams[s].offset = reader.ReadInt32(); + m_Streams[s].stride = reader.ReadInt32(); + m_Streams[s].align = reader.ReadUInt32(); + } } } #endregion - #region Vertex Buffer for 3.5.0 and later + #region channels and streams for 4.0.0 and later else { - #region read vertex stream - - if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down + m_Channels = new ChannelInfo[reader.ReadInt32()]; + for (int c = 0; c < m_Channels.Length; c++) { - m_Skin = new List[reader.ReadInt32()]; - for (int s = 0; s < m_Skin.Length; s++) - { - m_Skin[s] = new List(); - for (int i = 0; i < 4; i++) - { - m_Skin[s].Add(new BoneInfluence() { weight = reader.ReadSingle() }); - } + m_Channels[c] = new ChannelInfo(); + m_Channels[c].stream = reader.ReadByte(); + m_Channels[c].offset = reader.ReadByte(); + m_Channels[c].format = reader.ReadByte(); + m_Channels[c].dimension = reader.ReadByte(); - for (int i = 0; i < 4; i++) - { - m_Skin[s][i].boneIndex = reader.ReadInt32(); - } - } + if (m_Channels[c].stream >= streamCount) { streamCount = m_Channels[c].stream + 1; } } - if (version[0] == 3 || (version[0] == 4 && version[1] <= 2)) + if (version[0] < 5) { - m_BindPose = new float[reader.ReadInt32()][,]; - for (int i = 0; i < m_BindPose.Length; i++) + m_Streams = new StreamInfo[reader.ReadInt32()]; + for (int s = 0; s < m_Streams.Length; s++) { - m_BindPose[i] = new[,] { - { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, - { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, - { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }, - { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() } }; + m_Streams[s] = new StreamInfo(); + m_Streams[s].channelMask = new BitArray(new[] { reader.ReadInt32() }); + m_Streams[s].offset = reader.ReadInt32(); + m_Streams[s].stride = reader.ReadByte(); + m_Streams[s].dividerOp = reader.ReadByte(); + m_Streams[s].frequency = reader.ReadUInt16(); } } - - if (version[0] < 2018)//2018 down + } + #endregion + if (version[0] >= 5) //ComputeCompressedStreams + { + m_Streams = new StreamInfo[streamCount]; + int offset = 0; + for (int s = 0; s < streamCount; s++) { - var m_CurrentChannels = reader.ReadInt32(); - } - - m_VertexCount = reader.ReadInt32(); - int streamCount = 0; - - #region streams for 3.5.0 - 3.5.7 - if (version[0] < 4) - { - if (m_MeshCompression != 0 && version[2] == 0) //special case not just on platform 9 + int chnMask = 0; + int stride = 0; + for (int chn = 0; chn < m_Channels.Length; chn++) { - reader.Position += 12; - } - else - { - m_Streams = new StreamInfo[4]; - for (int s = 0; s < 4; s++) + var m_Channel = m_Channels[chn]; + if (m_Channel.stream == s) { - m_Streams[s] = new StreamInfo(); - m_Streams[s].channelMask = new BitArray(new int[1] { reader.ReadInt32() }); - m_Streams[s].offset = reader.ReadInt32(); - m_Streams[s].stride = reader.ReadInt32(); - m_Streams[s].align = reader.ReadUInt32(); - } - } - } - #endregion - #region channels and streams for 4.0.0 and later - else - { - m_Channels = new ChannelInfo[reader.ReadInt32()]; - for (int c = 0; c < m_Channels.Length; c++) - { - m_Channels[c] = new ChannelInfo(); - m_Channels[c].stream = reader.ReadByte(); - m_Channels[c].offset = reader.ReadByte(); - m_Channels[c].format = reader.ReadByte(); - m_Channels[c].dimension = reader.ReadByte(); - - if (m_Channels[c].stream >= streamCount) { streamCount = m_Channels[c].stream + 1; } - } - - if (version[0] < 5) - { - m_Streams = new StreamInfo[reader.ReadInt32()]; - for (int s = 0; s < m_Streams.Length; s++) - { - m_Streams[s] = new StreamInfo(); - m_Streams[s].channelMask = new BitArray(new[] { reader.ReadInt32() }); - m_Streams[s].offset = reader.ReadInt32(); - m_Streams[s].stride = reader.ReadByte(); - m_Streams[s].dividerOp = reader.ReadByte(); - m_Streams[s].frequency = reader.ReadUInt16(); - } - } - } - #endregion - if (version[0] >= 5) //ComputeCompressedStreams - { - m_Streams = new StreamInfo[streamCount]; - int offset = 0; - for (int s = 0; s < streamCount; s++) - { - int chnMask = 0; - int stride = 0; - for (int chn = 0; chn < m_Channels.Length; chn++) - { - var m_Channel = m_Channels[chn]; - if (m_Channel.stream == s) + if (m_Channel.dimension > 0) { - if (m_Channel.dimension > 0) - { - chnMask |= 1 << chn; - stride += m_Channel.dimension * GetChannelFormatSize(m_Channel.format); - } + chnMask |= 1 << chn; + stride += m_Channel.dimension * GetChannelFormatSize(m_Channel.format); } } - m_Streams[s] = new StreamInfo + } + m_Streams[s] = new StreamInfo + { + channelMask = new BitArray(new[] { chnMask }), + offset = offset, + stride = stride, + dividerOp = 0, + frequency = 0 + }; + offset += m_VertexCount * stride; + //static size_t AlignStreamSize (size_t size) { return (size + (kVertexStreamAlign-1)) & ~(kVertexStreamAlign-1); } + offset = (offset + (16 - 1)) & ~(16 - 1); + } + } + + //actual Vertex Buffer + var m_DataSize = reader.ReadBytes(reader.ReadInt32()); + #endregion + + #region compute FvF + #region 2018 and up + if (version[0] >= 2018) + { + InitMSkin(); + foreach (var m_Channel in m_Channels) + { + if (m_Channel.dimension > 0) + { + var m_Stream = m_Streams[m_Channel.stream]; + + for (int b = 0; b < 14; b++) { - channelMask = new BitArray(new[] { chnMask }), - offset = offset, - stride = stride, - dividerOp = 0, - frequency = 0 - }; - offset += m_VertexCount * stride; - //static size_t AlignStreamSize (size_t size) { return (size + (kVertexStreamAlign-1)) & ~(kVertexStreamAlign-1); } - offset = (offset + (16 - 1)) & ~(16 - 1); + if (m_Stream.channelMask.Get(b)) + { + var componentByteSize = GetChannelFormatSize(m_Channel.format); + var componentBytes = new byte[m_VertexCount * m_Channel.dimension * componentByteSize]; + + for (int v = 0; v < m_VertexCount; v++) + { + int vertexOffset = m_Stream.offset + m_Channel.offset + m_Stream.stride * v; + for (int d = 0; d < m_Channel.dimension; d++) + { + int componentOffset = vertexOffset + componentByteSize * d; + Buffer.BlockCopy(m_DataSize, componentOffset, componentBytes, componentByteSize * (v * m_Channel.dimension + d), componentByteSize); + } + } + + if (preloadData.sourceFile.platform == 11 && componentByteSize > 1) //swap bytes for Xbox + { + for (var i = 0; i < componentBytes.Length / componentByteSize; i++) + { + var buff = new byte[componentByteSize]; + Buffer.BlockCopy(componentBytes, i * componentByteSize, buff, 0, componentByteSize); + buff = buff.Reverse().ToArray(); + Buffer.BlockCopy(buff, 0, componentBytes, i * componentByteSize, componentByteSize); + } + } + + int[] componentsIntArray = null; + float[] componentsFloatArray = null; + if (m_Channel.format == 11) + componentsIntArray = BytesToIntArray(componentBytes); + else + componentsFloatArray = BytesToFloatArray(componentBytes, componentByteSize); + + switch (b) + { + case 0: //kShaderChannelVertex + m_Vertices = componentsFloatArray; + break; + case 1: //kShaderChannelNormal + m_Normals = componentsFloatArray; + break; + case 2: //kShaderChannelTangent + m_Tangents = componentsFloatArray; + break; + case 3: //kShaderChannelColor + m_Colors = componentsFloatArray; + break; + case 4: //kShaderChannelTexCoord0 + m_UV1 = componentsFloatArray; + break; + case 5: //kShaderChannelTexCoord1 + m_UV2 = componentsFloatArray; + break; + case 6: //kShaderChannelTexCoord2 + m_UV3 = componentsFloatArray; + break; + case 7: //kShaderChannelTexCoord3 + m_UV4 = componentsFloatArray; + break; + //2018.2 and up + case 12: + for (int i = 0; i < m_VertexCount; i++) + { + for (int j = 0; j < 4; j++) + { + m_Skin[i][j].weight = componentsFloatArray[i * 4 + j]; + } + } + break; + case 13: + for (int i = 0; i < m_VertexCount; i++) + { + for (int j = 0; j < 4; j++) + { + m_Skin[i][j].boneIndex = componentsIntArray[i * 4 + j]; + } + } + break; + } + + m_Stream.channelMask.Set(b, false); + break; //go to next channel + } + } } } - - //actual Vertex Buffer - var m_DataSize = reader.ReadBytes(reader.ReadInt32()); - #endregion - - #region compute FvF - #region 2018 and up - if (version[0] >= 2018) + } + #endregion + else + { + #region 4.0 - 2017.x + if (m_Channels != null) { - InitMSkin(); + //it is better to loop channels instead of streams + //because channels are likely to be sorted by vertex property foreach (var m_Channel in m_Channels) { if (m_Channel.dimension > 0) { var m_Stream = m_Streams[m_Channel.stream]; - for (int b = 0; b < 14; b++) + for (int b = 0; b < 8; b++) { if (m_Stream.channelMask.Get(b)) { + //in version 4.x the colors is ColorRGBA32, size 4 with 4 byte components + if (b == 2 && m_Channel.format == 2) + { + m_Channel.dimension = 4; //set this so that don't need to convert int to 4 bytes + } + var componentByteSize = GetChannelFormatSize(m_Channel.format); var componentBytes = new byte[m_VertexCount * m_Channel.dimension * componentByteSize]; @@ -623,12 +715,7 @@ namespace AssetStudio } } - int[] componentsIntArray = null; - float[] componentsFloatArray = null; - if (m_Channel.format == 11) - componentsIntArray = BytesToIntArray(componentBytes); - else - componentsFloatArray = BytesToFloatArray(componentBytes, componentByteSize); + var componentsFloatArray = BytesToFloatArray(componentBytes, componentByteSize); switch (b) { @@ -638,42 +725,30 @@ namespace AssetStudio case 1: //kShaderChannelNormal m_Normals = componentsFloatArray; break; - case 2: //kShaderChannelTangent - m_Tangents = componentsFloatArray; - break; - case 3: //kShaderChannelColor + case 2: //kShaderChannelColor m_Colors = componentsFloatArray; break; - case 4: //kShaderChannelTexCoord0 + case 3: //kShaderChannelTexCoord0 m_UV1 = componentsFloatArray; break; - case 5: //kShaderChannelTexCoord1 + case 4: //kShaderChannelTexCoord1 m_UV2 = componentsFloatArray; break; - case 6: //kShaderChannelTexCoord2 - m_UV3 = componentsFloatArray; + case 5: //kShaderChannelTangent & kShaderChannelTexCoord2 + if (version[0] >= 5) + { + m_UV3 = componentsFloatArray; + } + else + { + m_Tangents = componentsFloatArray; + } break; - case 7: //kShaderChannelTexCoord3 + case 6: //kShaderChannelTexCoord3 m_UV4 = componentsFloatArray; break; - //2018.2 and up - case 12: - for (int i = 0; i < m_VertexCount; i++) - { - for (int j = 0; j < 4; j++) - { - m_Skin[i][j].weight = componentsFloatArray[i * 4 + j]; - } - } - break; - case 13: - for (int i = 0; i < m_VertexCount; i++) - { - for (int j = 0; j < 4; j++) - { - m_Skin[i][j].boneIndex = componentsIntArray[i * 4 + j]; - } - } + case 7: //kShaderChannelTangent + m_Tangents = componentsFloatArray; break; } @@ -685,462 +760,364 @@ namespace AssetStudio } } #endregion - else + #region 3.5.0 - 3.5.7 + else if (m_Streams != null) { - #region 4.0 - 2017.x - if (m_Channels != null) + foreach (var m_Stream in m_Streams) { - //it is better to loop channels instead of streams - //because channels are likely to be sorted by vertex property - foreach (var m_Channel in m_Channels) + //a stream may have multiple vertex components but without channels there are no offsets, so I assume all vertex properties are in order + //version 3.5.x only uses floats, and that's probably why channels were introduced in version 4 + + ChannelInfo m_Channel = new ChannelInfo();//create my own channel so I can use the same methods + m_Channel.offset = 0; + int componentByteSize = 0; + for (int b = 0; b < 6; b++) { - if (m_Channel.dimension > 0) + if (m_Stream.channelMask.Get(b)) { - var m_Stream = m_Streams[m_Channel.stream]; - - for (int b = 0; b < 8; b++) + switch (b) { - if (m_Stream.channelMask.Get(b)) + case 0: + case 1: + componentByteSize = 4; + m_Channel.dimension = 3; + break; + case 2: + componentByteSize = 1; + m_Channel.dimension = 4; + break; + case 3: + case 4: + componentByteSize = 4; + m_Channel.dimension = 2; + break; + case 5: + componentByteSize = 4; + m_Channel.dimension = 4; + break; + } + + var componentBytes = new byte[componentByteSize]; + var componentsArray = new float[m_VertexCount * m_Channel.dimension]; + + for (int v = 0; v < m_VertexCount; v++) + { + int vertexOffset = m_Stream.offset + m_Channel.offset + m_Stream.stride * v; + for (int d = 0; d < m_Channel.dimension; d++) { - //in version 4.x the colors is ColorRGBA32, size 4 with 4 byte components - if (b == 2 && m_Channel.format == 2) - { - m_Channel.dimension = 4; //set this so that don't need to convert int to 4 bytes - } - - var componentByteSize = GetChannelFormatSize(m_Channel.format); - var componentBytes = new byte[m_VertexCount * m_Channel.dimension * componentByteSize]; - - for (int v = 0; v < m_VertexCount; v++) - { - int vertexOffset = m_Stream.offset + m_Channel.offset + m_Stream.stride * v; - for (int d = 0; d < m_Channel.dimension; d++) - { - int componentOffset = vertexOffset + componentByteSize * d; - Buffer.BlockCopy(m_DataSize, componentOffset, componentBytes, componentByteSize * (v * m_Channel.dimension + d), componentByteSize); - } - } - - if (preloadData.sourceFile.platform == 11 && componentByteSize > 1) //swap bytes for Xbox - { - for (var i = 0; i < componentBytes.Length / componentByteSize; i++) - { - var buff = new byte[componentByteSize]; - Buffer.BlockCopy(componentBytes, i * componentByteSize, buff, 0, componentByteSize); - buff = buff.Reverse().ToArray(); - Buffer.BlockCopy(buff, 0, componentBytes, i * componentByteSize, componentByteSize); - } - } - - var componentsFloatArray = BytesToFloatArray(componentBytes, componentByteSize); - - switch (b) - { - case 0: //kShaderChannelVertex - m_Vertices = componentsFloatArray; - break; - case 1: //kShaderChannelNormal - m_Normals = componentsFloatArray; - break; - case 2: //kShaderChannelColor - m_Colors = componentsFloatArray; - break; - case 3: //kShaderChannelTexCoord0 - m_UV1 = componentsFloatArray; - break; - case 4: //kShaderChannelTexCoord1 - m_UV2 = componentsFloatArray; - break; - case 5: //kShaderChannelTangent & kShaderChannelTexCoord2 - if (version[0] >= 5) - { - m_UV3 = componentsFloatArray; - } - else - { - m_Tangents = componentsFloatArray; - } - break; - case 6: //kShaderChannelTexCoord3 - m_UV4 = componentsFloatArray; - break; - case 7: //kShaderChannelTangent - m_Tangents = componentsFloatArray; - break; - } - - m_Stream.channelMask.Set(b, false); - break; //go to next channel + int m_DataSizeOffset = vertexOffset + componentByteSize * d; + Buffer.BlockCopy(m_DataSize, m_DataSizeOffset, componentBytes, 0, componentByteSize); + componentsArray[v * m_Channel.dimension + d] = BytesToFloat(componentBytes); } } - } - } - } - #endregion - #region 3.5.0 - 3.5.7 - else if (m_Streams != null) - { - foreach (var m_Stream in m_Streams) - { - //a stream may have multiple vertex components but without channels there are no offsets, so I assume all vertex properties are in order - //version 3.5.x only uses floats, and that's probably why channels were introduced in version 4 - ChannelInfo m_Channel = new ChannelInfo();//create my own channel so I can use the same methods - m_Channel.offset = 0; - int componentByteSize = 0; - for (int b = 0; b < 6; b++) - { - if (m_Stream.channelMask.Get(b)) + switch (b) { - switch (b) - { - case 0: - case 1: - componentByteSize = 4; - m_Channel.dimension = 3; - break; - case 2: - componentByteSize = 1; - m_Channel.dimension = 4; - break; - case 3: - case 4: - componentByteSize = 4; - m_Channel.dimension = 2; - break; - case 5: - componentByteSize = 4; - m_Channel.dimension = 4; - break; - } - - var componentBytes = new byte[componentByteSize]; - var componentsArray = new float[m_VertexCount * m_Channel.dimension]; - - for (int v = 0; v < m_VertexCount; v++) - { - int vertexOffset = m_Stream.offset + m_Channel.offset + m_Stream.stride * v; - for (int d = 0; d < m_Channel.dimension; d++) - { - int m_DataSizeOffset = vertexOffset + componentByteSize * d; - Buffer.BlockCopy(m_DataSize, m_DataSizeOffset, componentBytes, 0, componentByteSize); - componentsArray[v * m_Channel.dimension + d] = BytesToFloat(componentBytes); - } - } - - switch (b) - { - case 0: m_Vertices = componentsArray; break; - case 1: m_Normals = componentsArray; break; - case 2: m_Colors = componentsArray; break; - case 3: m_UV1 = componentsArray; break; - case 4: m_UV2 = componentsArray; break; - case 5: m_Tangents = componentsArray; break; - } - - m_Channel.offset += (byte)(m_Channel.dimension * componentByteSize); //safe to cast as byte because strides larger than 255 are unlikely - m_Stream.channelMask.Set(b, false); + case 0: m_Vertices = componentsArray; break; + case 1: m_Normals = componentsArray; break; + case 2: m_Colors = componentsArray; break; + case 3: m_UV1 = componentsArray; break; + case 4: m_UV2 = componentsArray; break; + case 5: m_Tangents = componentsArray; break; } + + m_Channel.offset += (byte)(m_Channel.dimension * componentByteSize); //safe to cast as byte because strides larger than 255 are unlikely + m_Stream.channelMask.Set(b, false); } } } - #endregion } #endregion } #endregion + } + #endregion - #region Compressed Mesh data for 2.6.0 and later - 160 bytes - if (version[0] >= 3 || (version[0] == 2 && version[1] >= 6)) + #region Compressed Mesh data for 2.6.0 and later - 160 bytes + if (version[0] >= 3 || (version[0] == 2 && version[1] >= 6)) + { + #region m_Vertices; + var m_Vertices_Packed = new PackedFloatVector(reader); + if (m_Vertices_Packed.m_NumItems > 0) { - #region m_Vertices; - var m_Vertices_Packed = new PackedFloatVector(reader); - if (m_Vertices_Packed.m_NumItems > 0) - { - m_VertexCount = (int)m_Vertices_Packed.m_NumItems / 3; - m_Vertices = m_Vertices_Packed.UnpackFloats(3, 4); - } - #endregion - - #region m_UV - var m_UV_Packed = new PackedFloatVector(reader); - if (m_UV_Packed.m_NumItems > 0) - { - m_UV1 = m_UV_Packed.UnpackFloats(2, 4, 0, m_VertexCount); - if (m_UV_Packed.m_NumItems >= m_VertexCount * 4) - { - m_UV2 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 2, m_VertexCount); - } - if (m_UV_Packed.m_NumItems >= m_VertexCount * 6) - { - m_UV3 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 4, m_VertexCount); - } - if (m_UV_Packed.m_NumItems >= m_VertexCount * 8) - { - m_UV4 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 6, m_VertexCount); - } - } - #endregion - - #region m_BindPoses - if (version[0] < 5) - { - var m_BindPoses_Packed = new PackedFloatVector(reader); - if (m_BindPoses_Packed.m_NumItems > 0) - { - m_BindPose = new float[m_BindPoses_Packed.m_NumItems / 16][,]; - var m_BindPoses_Unpacked = m_BindPoses_Packed.UnpackFloats(16, 4 * 16); - throw new NotImplementedException(); - } - } - #endregion - - var m_Normals_Packed = new PackedFloatVector(reader); - - var m_Tangents_Packed = new PackedFloatVector(reader); - - var m_Weights = new PackedIntVector(reader); - - #region m_Normals - var m_NormalSigns = new PackedIntVector(reader); - if (m_Normals_Packed.m_NumItems > 0) - { - var normalData = m_Normals_Packed.UnpackFloats(2, 4 * 2); - var signs = m_NormalSigns.UnpackInts(); - m_Normals = new float[m_Normals_Packed.m_NumItems / 2 * 3]; - for (int i = 0; i < m_Normals_Packed.m_NumItems / 2; ++i) - { - var x = normalData[i * 2 + 0]; - var y = normalData[i * 2 + 1]; - var zsqr = 1 - x * x - y * y; - float z; - if (zsqr >= 0f) - z = (float)Math.Sqrt(zsqr); - else - { - z = 0; - var normal = new Vector3(x, y, z); - normal.Normalize(); - x = normal.X; - y = normal.Y; - z = normal.Z; - } - if (signs[i] == 0) - z = -z; - m_Normals[i * 3] = x; - m_Normals[i * 3 + 1] = y; - m_Normals[i * 3 + 2] = z; - } - } - #endregion - - #region m_Tangents - var m_TangentSigns = new PackedIntVector(reader); - if (m_Tangents_Packed.m_NumItems > 0) - { - var tangentData = m_Tangents_Packed.UnpackFloats(2, 4 * 2); - var signs = m_TangentSigns.UnpackInts(); - m_Tangents = new float[m_Tangents_Packed.m_NumItems / 2 * 4]; - for (int i = 0; i < m_Tangents_Packed.m_NumItems / 2; ++i) - { - var x = tangentData[i * 2 + 0]; - var y = tangentData[i * 2 + 1]; - var zsqr = 1 - x * x - y * y; - float z; - if (zsqr >= 0f) - z = (float)Math.Sqrt(zsqr); - else - { - z = 0; - var vector3f = new Vector3(x, y, z); - vector3f.Normalize(); - x = vector3f.X; - y = vector3f.Y; - z = vector3f.Z; - } - if (signs[i * 2 + 0] == 0) - z = -z; - var w = signs[i * 2 + 1] > 0 ? 1.0f : -1.0f; - m_Tangents[i * 4] = x; - m_Tangents[i * 4 + 1] = y; - m_Tangents[i * 4 + 2] = z; - m_Tangents[i * 4 + 3] = w; - } - } - #endregion - - #region m_FloatColors - if (version[0] >= 5) - { - var m_FloatColors = new PackedFloatVector(reader); - if (m_FloatColors.m_NumItems > 0) - { - m_Colors = m_FloatColors.UnpackFloats(1, 4); - } - } - #endregion - - #region m_Skin - var m_BoneIndices = new PackedIntVector(reader); - if (m_Weights.m_NumItems > 0) - { - var weights = m_Weights.UnpackInts(); - var boneIndices = m_BoneIndices.UnpackInts(); - - InitMSkin(); - - int bonePos = 0; - int boneIndexPos = 0; - int j = 0; - int sum = 0; - - for (int i = 0; i < m_Weights.m_NumItems; i++) - { - //read bone index and weight. - m_Skin[bonePos][j].weight = weights[i] / 31.0f; - m_Skin[bonePos][j].boneIndex = boneIndices[boneIndexPos++]; - j++; - sum += weights[i]; - - //the weights add up to one. fill the rest for this vertex with zero, and continue with next one. - if (sum >= 31) - { - for (; j < 4; j++) - { - m_Skin[bonePos][j].weight = 0; - m_Skin[bonePos][j].boneIndex = 0; - } - bonePos++; - j = 0; - sum = 0; - } - //we read three weights, but they don't add up to one. calculate the fourth one, and read - //missing bone index. continue with next vertex. - else if (j == 3) - { - m_Skin[bonePos][j].weight = (31 - sum) / 31.0f; - m_Skin[bonePos][j].boneIndex = boneIndices[boneIndexPos++]; - bonePos++; - j = 0; - sum = 0; - } - } - } - #endregion - - #region m_IndexBuffer - var m_Triangles = new PackedIntVector(reader); - if (m_Triangles.m_NumItems > 0) - { - m_IndexBuffer = Array.ConvertAll(m_Triangles.UnpackInts(), x => (uint)x); - } - #endregion + m_VertexCount = (int)m_Vertices_Packed.m_NumItems / 3; + m_Vertices = m_Vertices_Packed.UnpackFloats(3, 4); } #endregion - #region Colors & Collision triangles for 3.4.2 and earlier - if (version[0] <= 2 || (version[0] == 3 && version[1] <= 4)) + #region m_UV + var m_UV_Packed = new PackedFloatVector(reader); + if (m_UV_Packed.m_NumItems > 0) { - reader.Position += 24; //Axis-Aligned Bounding Box - int m_Colors_size = reader.ReadInt32(); - m_Colors = new float[m_Colors_size * 4]; - for (int v = 0; v < m_Colors_size * 4; v++) { m_Colors[v] = (float)(reader.ReadByte()) / 0xFF; } - - int m_CollisionTriangles_size = reader.ReadInt32(); - reader.Position += m_CollisionTriangles_size * 4; //UInt32 indices - int m_CollisionVertexCount = reader.ReadInt32(); + m_UV1 = m_UV_Packed.UnpackFloats(2, 4, 0, m_VertexCount); + if (m_UV_Packed.m_NumItems >= m_VertexCount * 4) + { + m_UV2 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 2, m_VertexCount); + } + if (m_UV_Packed.m_NumItems >= m_VertexCount * 6) + { + m_UV3 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 4, m_VertexCount); + } + if (m_UV_Packed.m_NumItems >= m_VertexCount * 8) + { + m_UV4 = m_UV_Packed.UnpackFloats(2, 4, m_VertexCount * 6, m_VertexCount); + } } #endregion - #region Compressed colors - else + + #region m_BindPoses + if (version[0] < 5) { - if (version[0] < 5) + var m_BindPoses_Packed = new PackedFloatVector(reader); + if (m_BindPoses_Packed.m_NumItems > 0) { - var m_Colors_Packed = new PackedIntVector(reader); - if (m_Colors_Packed.m_NumItems > 0) - { - m_Colors_Packed.m_NumItems *= 4; - m_Colors_Packed.m_BitSize /= 4; - var tempColors = m_Colors_Packed.UnpackInts(); - m_Colors = new float[m_Colors_Packed.m_NumItems]; - for (int v = 0; v < m_Colors_Packed.m_NumItems; v++) - { - m_Colors[v] = tempColors[v] / 255f; - } - } + m_BindPose = new float[m_BindPoses_Packed.m_NumItems / 16][,]; + var m_BindPoses_Unpacked = m_BindPoses_Packed.UnpackFloats(16, 4 * 16); + throw new NotImplementedException(); } - else - { - var m_UVInfo = reader.ReadUInt32(); - } - - reader.Position += 24; //AABB m_LocalAABB } #endregion - int m_MeshUsageFlags = reader.ReadInt32(); + var m_Normals_Packed = new PackedFloatVector(reader); + var m_Tangents_Packed = new PackedFloatVector(reader); + + var m_Weights = new PackedIntVector(reader); + + #region m_Normals + var m_NormalSigns = new PackedIntVector(reader); + if (m_Normals_Packed.m_NumItems > 0) + { + var normalData = m_Normals_Packed.UnpackFloats(2, 4 * 2); + var signs = m_NormalSigns.UnpackInts(); + m_Normals = new float[m_Normals_Packed.m_NumItems / 2 * 3]; + for (int i = 0; i < m_Normals_Packed.m_NumItems / 2; ++i) + { + var x = normalData[i * 2 + 0]; + var y = normalData[i * 2 + 1]; + var zsqr = 1 - x * x - y * y; + float z; + if (zsqr >= 0f) + z = (float)Math.Sqrt(zsqr); + else + { + z = 0; + var normal = new Vector3(x, y, z); + normal.Normalize(); + x = normal.X; + y = normal.Y; + z = normal.Z; + } + if (signs[i] == 0) + z = -z; + m_Normals[i * 3] = x; + m_Normals[i * 3 + 1] = y; + m_Normals[i * 3 + 2] = z; + } + } + #endregion + + #region m_Tangents + var m_TangentSigns = new PackedIntVector(reader); + if (m_Tangents_Packed.m_NumItems > 0) + { + var tangentData = m_Tangents_Packed.UnpackFloats(2, 4 * 2); + var signs = m_TangentSigns.UnpackInts(); + m_Tangents = new float[m_Tangents_Packed.m_NumItems / 2 * 4]; + for (int i = 0; i < m_Tangents_Packed.m_NumItems / 2; ++i) + { + var x = tangentData[i * 2 + 0]; + var y = tangentData[i * 2 + 1]; + var zsqr = 1 - x * x - y * y; + float z; + if (zsqr >= 0f) + z = (float)Math.Sqrt(zsqr); + else + { + z = 0; + var vector3f = new Vector3(x, y, z); + vector3f.Normalize(); + x = vector3f.X; + y = vector3f.Y; + z = vector3f.Z; + } + if (signs[i * 2 + 0] == 0) + z = -z; + var w = signs[i * 2 + 1] > 0 ? 1.0f : -1.0f; + m_Tangents[i * 4] = x; + m_Tangents[i * 4 + 1] = y; + m_Tangents[i * 4 + 2] = z; + m_Tangents[i * 4 + 3] = w; + } + } + #endregion + + #region m_FloatColors if (version[0] >= 5) { - //int m_BakedConvexCollisionMesh = a_Stream.ReadInt32(); - //a_Stream.Position += m_BakedConvexCollisionMesh; - //int m_BakedTriangleCollisionMesh = a_Stream.ReadInt32(); - //a_Stream.Position += m_BakedConvexCollisionMesh; - } - - #region Build face indices - for (int s = 0; s < m_SubMeshes_size; s++) - { - uint firstIndex = m_SubMeshes[s].firstByte / 2; - if (!m_Use16BitIndices) { firstIndex /= 2; } - - if (m_SubMeshes[s].topology == 0) + var m_FloatColors = new PackedFloatVector(reader); + if (m_FloatColors.m_NumItems > 0) { - for (int i = 0; i < m_SubMeshes[s].indexCount / 3; i++) - { - m_Indices.Add(m_IndexBuffer[firstIndex + i * 3]); - m_Indices.Add(m_IndexBuffer[firstIndex + i * 3 + 1]); - m_Indices.Add(m_IndexBuffer[firstIndex + i * 3 + 2]); - m_materialIDs.Add(s); - } - } - else - { - uint j = 0; - for (int i = 0; i < m_SubMeshes[s].indexCount - 2; i++) - { - uint fa = m_IndexBuffer[firstIndex + i]; - uint fb = m_IndexBuffer[firstIndex + i + 1]; - uint fc = m_IndexBuffer[firstIndex + i + 2]; - - if ((fa != fb) && (fa != fc) && (fc != fb)) - { - m_Indices.Add(fa); - if ((i % 2) == 0) - { - m_Indices.Add(fb); - m_Indices.Add(fc); - } - else - { - m_Indices.Add(fc); - m_Indices.Add(fb); - } - m_materialIDs.Add(s); - j++; - } - } - //TODO just fix it - m_SubMeshes[s].indexCount = j * 3; + m_Colors = m_FloatColors.UnpackFloats(1, 4); } } #endregion + + #region m_Skin + var m_BoneIndices = new PackedIntVector(reader); + if (m_Weights.m_NumItems > 0) + { + var weights = m_Weights.UnpackInts(); + var boneIndices = m_BoneIndices.UnpackInts(); + + InitMSkin(); + + int bonePos = 0; + int boneIndexPos = 0; + int j = 0; + int sum = 0; + + for (int i = 0; i < m_Weights.m_NumItems; i++) + { + //read bone index and weight. + m_Skin[bonePos][j].weight = weights[i] / 31.0f; + m_Skin[bonePos][j].boneIndex = boneIndices[boneIndexPos++]; + j++; + sum += weights[i]; + + //the weights add up to one. fill the rest for this vertex with zero, and continue with next one. + if (sum >= 31) + { + for (; j < 4; j++) + { + m_Skin[bonePos][j].weight = 0; + m_Skin[bonePos][j].boneIndex = 0; + } + bonePos++; + j = 0; + sum = 0; + } + //we read three weights, but they don't add up to one. calculate the fourth one, and read + //missing bone index. continue with next vertex. + else if (j == 3) + { + m_Skin[bonePos][j].weight = (31 - sum) / 31.0f; + m_Skin[bonePos][j].boneIndex = boneIndices[boneIndexPos++]; + bonePos++; + j = 0; + sum = 0; + } + } + } + #endregion + + #region m_IndexBuffer + var m_Triangles = new PackedIntVector(reader); + if (m_Triangles.m_NumItems > 0) + { + m_IndexBuffer = Array.ConvertAll(m_Triangles.UnpackInts(), x => (uint)x); + } + #endregion } + #endregion + + #region Colors & Collision triangles for 3.4.2 and earlier + if (version[0] <= 2 || (version[0] == 3 && version[1] <= 4)) + { + reader.Position += 24; //Axis-Aligned Bounding Box + int m_Colors_size = reader.ReadInt32(); + m_Colors = new float[m_Colors_size * 4]; + for (int v = 0; v < m_Colors_size * 4; v++) { m_Colors[v] = (float)(reader.ReadByte()) / 0xFF; } + + int m_CollisionTriangles_size = reader.ReadInt32(); + reader.Position += m_CollisionTriangles_size * 4; //UInt32 indices + int m_CollisionVertexCount = reader.ReadInt32(); + } + #endregion + #region Compressed colors else { - preloadData.extension = ".obj"; - preloadData.Text = m_Name; + if (version[0] < 5) + { + var m_Colors_Packed = new PackedIntVector(reader); + if (m_Colors_Packed.m_NumItems > 0) + { + m_Colors_Packed.m_NumItems *= 4; + m_Colors_Packed.m_BitSize /= 4; + var tempColors = m_Colors_Packed.UnpackInts(); + m_Colors = new float[m_Colors_Packed.m_NumItems]; + for (int v = 0; v < m_Colors_Packed.m_NumItems; v++) + { + m_Colors[v] = tempColors[v] / 255f; + } + } + } + else + { + var m_UVInfo = reader.ReadUInt32(); + } + + reader.Position += 24; //AABB m_LocalAABB } + #endregion + + int m_MeshUsageFlags = reader.ReadInt32(); + + if (version[0] >= 5) + { + //int m_BakedConvexCollisionMesh = a_Stream.ReadInt32(); + //a_Stream.Position += m_BakedConvexCollisionMesh; + //int m_BakedTriangleCollisionMesh = a_Stream.ReadInt32(); + //a_Stream.Position += m_BakedConvexCollisionMesh; + } + + #region Build face indices + for (int s = 0; s < m_SubMeshes_size; s++) + { + uint firstIndex = m_SubMeshes[s].firstByte / 2; + if (!m_Use16BitIndices) { firstIndex /= 2; } + + if (m_SubMeshes[s].topology == 0) + { + for (int i = 0; i < m_SubMeshes[s].indexCount / 3; i++) + { + m_Indices.Add(m_IndexBuffer[firstIndex + i * 3]); + m_Indices.Add(m_IndexBuffer[firstIndex + i * 3 + 1]); + m_Indices.Add(m_IndexBuffer[firstIndex + i * 3 + 2]); + m_materialIDs.Add(s); + } + } + else + { + uint j = 0; + for (int i = 0; i < m_SubMeshes[s].indexCount - 2; i++) + { + uint fa = m_IndexBuffer[firstIndex + i]; + uint fb = m_IndexBuffer[firstIndex + i + 1]; + uint fc = m_IndexBuffer[firstIndex + i + 2]; + + if ((fa != fb) && (fa != fc) && (fc != fb)) + { + m_Indices.Add(fa); + if ((i % 2) == 0) + { + m_Indices.Add(fb); + m_Indices.Add(fc); + } + else + { + m_Indices.Add(fc); + m_Indices.Add(fb); + } + m_materialIDs.Add(s); + j++; + } + } + //TODO just fix it + m_SubMeshes[s].indexCount = j * 3; + } + } + #endregion } } } diff --git a/AssetStudio/Classes/MeshFilter.cs b/AssetStudio/Classes/MeshFilter.cs index 04d1469..6ff6250 100644 --- a/AssetStudio/Classes/MeshFilter.cs +++ b/AssetStudio/Classes/MeshFilter.cs @@ -5,18 +5,13 @@ using System.Text; namespace AssetStudio { - public class MeshFilter + public sealed class MeshFilter : Component { public long preloadIndex; - public PPtr m_GameObject = new PPtr(); - public PPtr m_Mesh = new PPtr(); + public PPtr m_Mesh; - public MeshFilter(AssetPreloadData preloadData) + public MeshFilter(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_GameObject = sourceFile.ReadPPtr(); m_Mesh = sourceFile.ReadPPtr(); } } diff --git a/AssetStudio/Classes/MeshRenderer.cs b/AssetStudio/Classes/MeshRenderer.cs index 01cd62c..6ea6da9 100644 --- a/AssetStudio/Classes/MeshRenderer.cs +++ b/AssetStudio/Classes/MeshRenderer.cs @@ -5,86 +5,11 @@ using System.Text; namespace AssetStudio { - public class StaticBatchInfo + public sealed class MeshRenderer : Renderer { - public ushort firstSubMesh; - public ushort subMeshCount; - } - - public class MeshRenderer - { - public PPtr m_GameObject; - public PPtr[] m_Materials; - public StaticBatchInfo m_StaticBatchInfo; - public uint[] m_SubsetIndices; - - protected MeshRenderer() { } - - public MeshRenderer(AssetPreloadData preloadData) + public MeshRenderer(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = sourceFile.version; - var reader = preloadData.InitReader(); - m_GameObject = sourceFile.ReadPPtr(); - if (version[0] < 5) - { - var m_Enabled = reader.ReadBoolean(); - var m_CastShadows = reader.ReadByte(); - var m_ReceiveShadows = reader.ReadBoolean(); - var m_LightmapIndex = reader.ReadByte(); - } - else - { - var m_Enabled = reader.ReadBoolean(); - reader.AlignStream(4); - var m_CastShadows = reader.ReadByte(); - var m_ReceiveShadows = reader.ReadBoolean(); - reader.AlignStream(4); - if (version[0] >= 2018)//2018 and up - { - var m_RenderingLayerMask = reader.ReadUInt32(); - } - var m_LightmapIndex = reader.ReadUInt16(); - var m_LightmapIndexDynamic = reader.ReadUInt16(); - } - - if (version[0] >= 3) - { - reader.Position += 16;//Vector4f m_LightmapTilingOffset - } - - if (version[0] >= 5) - { - reader.Position += 16;//Vector4f m_LightmapTilingOffsetDynamic - } - - m_Materials = new PPtr[reader.ReadInt32()]; - for (int m = 0; m < m_Materials.Length; m++) - { - m_Materials[m] = sourceFile.ReadPPtr(); - } - - if (version[0] < 3) - { - reader.Position += 16;//m_LightmapTilingOffset vector4d - } - else - { - if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up - { - m_StaticBatchInfo = new StaticBatchInfo - { - firstSubMesh = reader.ReadUInt16(), - subMeshCount = reader.ReadUInt16() - }; - } - else - { - int numSubsetIndices = reader.ReadInt32(); - m_SubsetIndices = reader.ReadUInt32Array(numSubsetIndices); - } - } } } } diff --git a/AssetStudio/Classes/MonoBehaviour.cs b/AssetStudio/Classes/MonoBehaviour.cs index ab3b3e1..5e9abb9 100644 --- a/AssetStudio/Classes/MonoBehaviour.cs +++ b/AssetStudio/Classes/MonoBehaviour.cs @@ -5,21 +5,13 @@ using System.Text; namespace AssetStudio { - class MonoBehaviour + public sealed class MonoBehaviour : Behaviour { - public PPtr m_GameObject; - public byte m_Enabled; public PPtr m_Script; public string m_Name; - public MonoBehaviour(AssetPreloadData preloadData) + public MonoBehaviour(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_GameObject = sourceFile.ReadPPtr(); - m_Enabled = reader.ReadByte(); - reader.AlignStream(4); m_Script = sourceFile.ReadPPtr(); m_Name = reader.ReadAlignedString(); } diff --git a/AssetStudio/Classes/MonoScript.cs b/AssetStudio/Classes/MonoScript.cs index 31730e7..709c1aa 100644 --- a/AssetStudio/Classes/MonoScript.cs +++ b/AssetStudio/Classes/MonoScript.cs @@ -5,20 +5,14 @@ using System.Text; namespace AssetStudio { - class MonoScript + public sealed class MonoScript : NamedObject { - public string m_Name; public string m_ClassName; public string m_Namespace = string.Empty; public string m_AssemblyName; - public MonoScript(AssetPreloadData preloadData) + public MonoScript(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - var version = sourceFile.version; - - m_Name = reader.ReadAlignedString(); if (version[0] > 3 || (version[0] == 3 && version[1] >= 4)) //3.4 and up { var m_ExecutionOrder = reader.ReadInt32(); diff --git a/AssetStudio/Classes/MovieTexture.cs b/AssetStudio/Classes/MovieTexture.cs index 5b7e657..34a27ae 100644 --- a/AssetStudio/Classes/MovieTexture.cs +++ b/AssetStudio/Classes/MovieTexture.cs @@ -5,32 +5,17 @@ using System.Text; namespace AssetStudio { - class MovieTexture + public sealed class MovieTexture : Texture { - public string m_Name; public byte[] m_MovieData; - public MovieTexture(AssetPreloadData preloadData, bool readSwitch) + public MovieTexture(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - if (readSwitch) - { - var m_Loop = reader.ReadBoolean(); - reader.AlignStream(4); - //PPtr - sourceFile.ReadPPtr(); - var size = reader.ReadInt32(); - m_MovieData = reader.ReadBytes(size); - var m_ColorSpace = reader.ReadInt32(); - } - else - { - preloadData.extension = ".ogv"; - preloadData.Text = m_Name; - } + var m_Loop = reader.ReadBoolean(); + reader.AlignStream(4); + //PPtr + sourceFile.ReadPPtr(); + m_MovieData = reader.ReadBytes(reader.ReadInt32()); } } } diff --git a/AssetStudio/Classes/NamedObject.cs b/AssetStudio/Classes/NamedObject.cs new file mode 100644 index 0000000..9f01e8c --- /dev/null +++ b/AssetStudio/Classes/NamedObject.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public class NamedObject : EditorExtension + { + public string m_Name; + + public NamedObject(AssetPreloadData preloadData) : base(preloadData) + { + m_Name = reader.ReadAlignedString(); + } + } +} diff --git a/AssetStudio/Classes/Object.cs b/AssetStudio/Classes/Object.cs new file mode 100644 index 0000000..adf73fa --- /dev/null +++ b/AssetStudio/Classes/Object.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public abstract class Object + { + public AssetPreloadData preloadData; + public AssetsFile sourceFile; + protected EndianBinaryReader reader; + public int[] version; + protected string[] buildType; + protected BuildTarget platform; + + protected Object(AssetPreloadData preloadData) + { + this.preloadData = preloadData; + sourceFile = preloadData.sourceFile; + reader = preloadData.InitReader(); + version = sourceFile.version; + buildType = sourceFile.buildType; + platform = (BuildTarget)sourceFile.platform; + + if (platform == BuildTarget.NoTarget) + { + var m_ObjectHideFlags = reader.ReadUInt32(); + } + } + } +} diff --git a/AssetStudio/Classes/PlayerSettings.cs b/AssetStudio/Classes/PlayerSettings.cs index d0a440a..4844267 100644 --- a/AssetStudio/Classes/PlayerSettings.cs +++ b/AssetStudio/Classes/PlayerSettings.cs @@ -5,18 +5,14 @@ using System.Text; namespace AssetStudio { - public class PlayerSettings + public sealed class PlayerSettings : Object { public string companyName; public string productName; - public PlayerSettings(AssetPreloadData preloadData) + public PlayerSettings(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - - if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 4) || sourceFile.version[0] > 5)//5.4.0 nad up + if ((version[0] == 5 && version[1] >= 4) || version[0] > 5)//5.4.0 nad up { //productGUID reader.ReadInt32(); @@ -24,9 +20,9 @@ namespace AssetStudio reader.ReadInt32(); reader.ReadInt32(); } - if (sourceFile.version[0] >= 3) + if (version[0] >= 3) { - if (sourceFile.version[0] == 3 && sourceFile.version[1] < 2) + if (version[0] == 3 && version[1] < 2) { string AndroidLicensePublicKey = reader.ReadAlignedString(); } @@ -38,31 +34,31 @@ namespace AssetStudio int defaultScreenOrientation = reader.ReadInt32(); int targetDevice = reader.ReadInt32(); - if (sourceFile.version[0] < 5 || (sourceFile.version[0] == 5 && sourceFile.version[1] < 1)) + if (version[0] < 5 || (version[0] == 5 && version[1] < 1)) { int targetGlesGraphics = reader.ReadInt32(); } - if ((sourceFile.version[0] == 5 && sourceFile.version[1] < 1) || (sourceFile.version[0] == 4 && sourceFile.version[1] == 6 && sourceFile.version[2] >= 3)) + if ((version[0] == 5 && version[1] < 1) || (version[0] == 4 && version[1] == 6 && version[2] >= 3)) { int targetIOSGraphics = reader.ReadInt32(); } - if (sourceFile.version[0] >= 5 || sourceFile.version[0] == 5 && (sourceFile.version[1] > 2 || (sourceFile.version[1] == 2 && sourceFile.version[2] >= 1))) + if (version[0] >= 5 || version[0] == 5 && (version[1] > 2 || (version[1] == 2 && version[2] >= 1))) { bool useOnDemandResources = reader.ReadBoolean(); reader.AlignStream(4); } - if (sourceFile.version[0] < 5 || (sourceFile.version[0] == 5 && sourceFile.version[1] < 3)) + if (version[0] < 5 || (version[0] == 5 && version[1] < 3)) { int targetResolution = reader.ReadInt32(); } - if (sourceFile.version[0] == 3 && sourceFile.version[1] <= 1) + if (version[0] == 3 && version[1] <= 1) { bool OverrideIPodMusic = reader.ReadBoolean(); reader.AlignStream(4); } - else if (sourceFile.version[0] == 3 && sourceFile.version[1] <= 4) + else if (version[0] == 3 && version[1] <= 4) { } diff --git a/AssetStudio/Classes/RectTransform.cs b/AssetStudio/Classes/RectTransform.cs index ef9ed18..7dfcc30 100644 --- a/AssetStudio/Classes/RectTransform.cs +++ b/AssetStudio/Classes/RectTransform.cs @@ -5,26 +5,10 @@ using System.Text; namespace AssetStudio { - public class RectTransform + public sealed class RectTransform : Transform { - public Transform m_Transform; - - public RectTransform(AssetPreloadData preloadData) + public RectTransform(AssetPreloadData preloadData) : base(preloadData) { - m_Transform = new Transform(preloadData); - - //var sourceFile = preloadData.sourceFile; - //var a_Stream = preloadData.sourceFile.a_Stream; - - /* - float[2] AnchorsMin - float[2] AnchorsMax - float[2] Pivod - float Width - float Height - float[2] ? - */ - } } } diff --git a/AssetStudio/Classes/Renderer.cs b/AssetStudio/Classes/Renderer.cs new file mode 100644 index 0000000..7ab1f0f --- /dev/null +++ b/AssetStudio/Classes/Renderer.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public class StaticBatchInfo + { + public ushort firstSubMesh; + public ushort subMeshCount; + } + + public abstract class Renderer : Component + { + public PPtr[] m_Materials; + public StaticBatchInfo m_StaticBatchInfo; + public uint[] m_SubsetIndices; + + protected Renderer(AssetPreloadData preloadData) : base(preloadData) + { + if (version[0] < 5) + { + var m_Enabled = reader.ReadBoolean(); + var m_CastShadows = reader.ReadByte(); + var m_ReceiveShadows = reader.ReadBoolean(); + var m_LightmapIndex = reader.ReadByte(); + } + else + { + var m_Enabled = reader.ReadBoolean(); + reader.AlignStream(4); + var m_CastShadows = reader.ReadByte(); + var m_ReceiveShadows = reader.ReadBoolean(); + reader.AlignStream(4); + if (version[0] >= 2018)//2018 and up + { + var m_RenderingLayerMask = reader.ReadUInt32(); + } + var m_LightmapIndex = reader.ReadUInt16(); + var m_LightmapIndexDynamic = reader.ReadUInt16(); + } + + if (version[0] >= 3) + { + reader.Position += 16;//Vector4f m_LightmapTilingOffset + } + + if (version[0] >= 5) + { + reader.Position += 16;//Vector4f m_LightmapTilingOffsetDynamic + } + + m_Materials = new PPtr[reader.ReadInt32()]; + for (int m = 0; m < m_Materials.Length; m++) + { + m_Materials[m] = sourceFile.ReadPPtr(); + } + + if (version[0] < 3) + { + reader.Position += 16;//m_LightmapTilingOffset vector4d + } + else + { + if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up + { + m_StaticBatchInfo = new StaticBatchInfo + { + firstSubMesh = reader.ReadUInt16(), + subMeshCount = reader.ReadUInt16() + }; + } + else + { + int numSubsetIndices = reader.ReadInt32(); + m_SubsetIndices = reader.ReadUInt32Array(numSubsetIndices); + } + + var m_StaticBatchRoot = sourceFile.ReadPPtr(); + + if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 4) || sourceFile.version[0] > 5)//5.4.0 and up + { + var m_ProbeAnchor = sourceFile.ReadPPtr(); + var m_LightProbeVolumeOverride = sourceFile.ReadPPtr(); + } + else if (version[0] >= 4 || (version[0] == 3 && version[1] >= 5))//3.5 - 5.3 + { + var m_UseLightProbes = reader.ReadBoolean(); + reader.AlignStream(4); + if (version[0] == 5)//5.0 and up + { + int m_ReflectionProbeUsage = reader.ReadInt32(); + } + var m_LightProbeAnchor = sourceFile.ReadPPtr(); + } + + if (version[0] >= 5 || (version[0] == 4 && version[1] >= 3))//4.3 and up + { + if (version[0] == 4 && version[1] == 3)//4.3 + { + int m_SortingLayer = reader.ReadInt16(); + } + else + { + int m_SortingLayerID = reader.ReadInt32(); + //SInt16 m_SortingOrder 5.6 and up + } + + int m_SortingOrder = reader.ReadInt16(); + reader.AlignStream(4); + } + } + } + } +} diff --git a/AssetStudio/Classes/Shader.cs b/AssetStudio/Classes/Shader.cs index 14fbc4d..1f78a12 100644 --- a/AssetStudio/Classes/Shader.cs +++ b/AssetStudio/Classes/Shader.cs @@ -8,62 +8,34 @@ using Lz4; namespace AssetStudio { - class Shader + public sealed class Shader : NamedObject { - public string m_Name; public byte[] m_Script; - public Shader(AssetPreloadData preloadData, bool readSwitch) + public Shader(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - - if (readSwitch) + if (sourceFile.version[0] == 5 && sourceFile.version[1] >= 5 || sourceFile.version[0] > 5) //5.5.0 and up { - if (sourceFile.version[0] == 5 && sourceFile.version[1] >= 5 || sourceFile.version[0] > 5)//5.5.0 and up - { - var str = (string)ShaderResource.ResourceManager.GetObject($"Shader{sourceFile.version[0]}{sourceFile.version[1]}"); - if (str == null) - { - str = preloadData.GetClassString(); - if (str == null) - m_Script = Encoding.UTF8.GetBytes("Serialized Shader can't be read"); - else - m_Script = Encoding.UTF8.GetBytes(str); - } - else - { - reader.Position = preloadData.Offset; - var sb = new StringBuilder(); - var members = new JavaScriptSerializer().Deserialize>(str); - ClassStructHelper.ReadClassString(sb, members, reader); - m_Script = Encoding.UTF8.GetBytes(sb.ToString()); - } - } - else - { - m_Script = reader.ReadBytes(reader.ReadInt32()); - if (sourceFile.version[0] == 5 && sourceFile.version[1] >= 3) //5.3 - 5.4 - { - reader.AlignStream(4); - reader.ReadAlignedString();//m_PathName - var decompressedSize = reader.ReadUInt32(); - var m_SubProgramBlob = reader.ReadBytes(reader.ReadInt32()); - var decompressedBytes = new byte[decompressedSize]; - using (var decoder = new Lz4DecoderStream(new MemoryStream(m_SubProgramBlob))) - { - decoder.Read(decompressedBytes, 0, (int)decompressedSize); - } - m_Script = m_Script.Concat(decompressedBytes.ToArray()).ToArray(); - } - } + var str = preloadData.Dump(); + m_Script = Encoding.UTF8.GetBytes(str ?? "Serialized Shader can't be read"); } else { - preloadData.extension = ".txt"; - preloadData.Text = m_Name; + m_Script = reader.ReadBytes(reader.ReadInt32()); + if (sourceFile.version[0] == 5 && sourceFile.version[1] >= 3) //5.3 - 5.4 + { + reader.AlignStream(4); + var m_PathName = reader.ReadAlignedString(); + var decompressedSize = reader.ReadUInt32(); + var m_SubProgramBlob = reader.ReadBytes(reader.ReadInt32()); + var decompressedBytes = new byte[decompressedSize]; + using (var decoder = new Lz4DecoderStream(new MemoryStream(m_SubProgramBlob))) + { + decoder.Read(decompressedBytes, 0, (int)decompressedSize); + } + + m_Script = m_Script.Concat(decompressedBytes.ToArray()).ToArray(); + } } } } diff --git a/AssetStudio/Classes/SkinnedMeshRenderer.cs b/AssetStudio/Classes/SkinnedMeshRenderer.cs index 40b68e1..d7e665a 100644 --- a/AssetStudio/Classes/SkinnedMeshRenderer.cs +++ b/AssetStudio/Classes/SkinnedMeshRenderer.cs @@ -5,112 +5,14 @@ using System.Text; namespace AssetStudio { - public class SkinnedMeshRenderer : MeshRenderer + public sealed class SkinnedMeshRenderer : Renderer { public PPtr m_Mesh; public PPtr[] m_Bones; public List m_BlendShapeWeights; - public SkinnedMeshRenderer(AssetPreloadData preloadData) + public SkinnedMeshRenderer(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var version = sourceFile.version; - var reader = preloadData.InitReader(); - - m_GameObject = sourceFile.ReadPPtr(); - if (version[0] < 5) - { - var m_Enabled = reader.ReadBoolean(); - var m_CastShadows = reader.ReadByte(); - var m_ReceiveShadows = reader.ReadBoolean(); - var m_LightmapIndex = reader.ReadByte(); - } - else - { - var m_Enabled = reader.ReadBoolean(); - reader.AlignStream(4); - var m_CastShadows = reader.ReadByte(); - var m_ReceiveShadows = reader.ReadBoolean(); - reader.AlignStream(4); - if (version[0] >= 2018)//2018 and up - { - var m_RenderingLayerMask = reader.ReadUInt32(); - } - var m_LightmapIndex = reader.ReadUInt16(); - var m_LightmapIndexDynamic = reader.ReadUInt16(); - } - - if (version[0] >= 3) - { - reader.Position += 16;//Vector4f m_LightmapTilingOffset - } - - if (version[0] >= 5) - { - reader.Position += 16;//Vector4f m_LightmapTilingOffsetDynamic - } - - m_Materials = new PPtr[reader.ReadInt32()]; - for (int m = 0; m < m_Materials.Length; m++) - { - m_Materials[m] = sourceFile.ReadPPtr(); - } - - if (version[0] < 3) - { - reader.Position += 16;//m_LightmapTilingOffset vector4d - } - else - { - if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up - { - m_StaticBatchInfo = new StaticBatchInfo - { - firstSubMesh = reader.ReadUInt16(), - subMeshCount = reader.ReadUInt16() - }; - } - else - { - int numSubsetIndices = reader.ReadInt32(); - m_SubsetIndices = reader.ReadUInt32Array(numSubsetIndices); - } - - var m_StaticBatchRoot = sourceFile.ReadPPtr(); - - if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 4) || sourceFile.version[0] > 5)//5.4.0 and up - { - var m_ProbeAnchor = sourceFile.ReadPPtr(); - var m_LightProbeVolumeOverride = sourceFile.ReadPPtr(); - } - else if (version[0] >= 4 || (version[0] == 3 && version[1] >= 5))//3.5 - 5.3 - { - var m_UseLightProbes = reader.ReadBoolean(); - reader.AlignStream(4); - if (version[0] == 5)//5.0 and up - { - int m_ReflectionProbeUsage = reader.ReadInt32(); - } - var m_LightProbeAnchor = sourceFile.ReadPPtr(); - } - - if (version[0] >= 5 || (version[0] == 4 && version[1] >= 3))//4.3 and up - { - if (version[0] == 4 && version[1] == 3)//4.3 - { - int m_SortingLayer = reader.ReadInt16(); - } - else - { - int m_SortingLayerID = reader.ReadInt32(); - //SInt16 m_SortingOrder 5.6 and up - } - - int m_SortingOrder = reader.ReadInt16(); - reader.AlignStream(4); - } - } - int m_Quality = reader.ReadInt32(); var m_UpdateWhenOffscreen = reader.ReadBoolean(); var m_SkinNormals = reader.ReadBoolean(); //3.1.0 and below diff --git a/AssetStudio/Classes/Sprite.cs b/AssetStudio/Classes/Sprite.cs index 19cd4de..65396ce 100644 --- a/AssetStudio/Classes/Sprite.cs +++ b/AssetStudio/Classes/Sprite.cs @@ -6,9 +6,8 @@ using System.Text; namespace AssetStudio { - class Sprite + public sealed class Sprite : NamedObject { - public string m_Name; public RectangleF m_Rect; public float m_PixelsToUnits; public PointF m_Pivot; @@ -18,171 +17,159 @@ namespace AssetStudio public RectangleF textureRect; public PointF[][] m_PhysicsShape; - public Sprite(AssetPreloadData preloadData, bool readSwitch) + public Sprite(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - var version = sourceFile.version; - - m_Name = reader.ReadAlignedString(); - if (readSwitch) + //Rectf m_Rect + m_Rect = new RectangleF(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); + //Vector2f m_Offset + reader.Position += 8; + if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up { - //Rectf m_Rect - m_Rect = new RectangleF(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); - //Vector2f m_Offset - reader.Position += 8; - if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up + //Vector4f m_Border + reader.Position += 16; + } + + m_PixelsToUnits = reader.ReadSingle(); + if (version[0] > 5 + || (version[0] == 5 && version[1] > 4) + || (version[0] == 5 && version[1] == 4 && version[2] >= 2)) //5.4.2 and up + { + //Vector2f m_Pivot + m_Pivot = new PointF(reader.ReadSingle(), reader.ReadSingle()); + } + + var m_Extrude = reader.ReadUInt32(); + if (version[0] > 5 || (version[0] == 5 && version[1] >= 3)) //5.3 and up + { + var m_IsPolygon = reader.ReadBoolean(); + reader.AlignStream(4); + } + + if (version[0] >= 2017) //2017 and up + { + //pair m_RenderDataKey + first = new Guid(reader.ReadBytes(16)); + var second = reader.ReadInt64(); + //vector m_AtlasTags + var size = reader.ReadInt32(); + for (int i = 0; i < size; i++) { - //Vector4f m_Border - reader.Position += 16; + var data = reader.ReadAlignedString(); } - m_PixelsToUnits = reader.ReadSingle(); - if (version[0] > 5 - || (version[0] == 5 && version[1] > 4) - || (version[0] == 5 && version[1] == 4 && version[2] >= 2)) //5.4.2 and up + //PPtr m_SpriteAtlas + m_SpriteAtlas = sourceFile.ReadPPtr(); + } + + //SpriteRenderData m_RD + // PPtr texture + texture = sourceFile.ReadPPtr(); + // PPtr alphaTexture + if (version[0] >= 5) //5.0 and up + { + var alphaTexture = sourceFile.ReadPPtr(); + } + + if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up + { + // vector m_SubMeshes + var size = reader.ReadInt32(); + // SubMesh data + if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3)) //2017.3 and up { - //Vector2f m_Pivot - m_Pivot = new PointF(reader.ReadSingle(), reader.ReadSingle()); - } - - var m_Extrude = reader.ReadUInt32(); - if (version[0] > 5 || (version[0] == 5 && version[1] >= 3)) //5.3 and up - { - var m_IsPolygon = reader.ReadBoolean(); - reader.AlignStream(4); - } - - if (version[0] >= 2017) //2017 and up - { - //pair m_RenderDataKey - first = new Guid(reader.ReadBytes(16)); - var second = reader.ReadInt64(); - //vector m_AtlasTags - var size = reader.ReadInt32(); - for (int i = 0; i < size; i++) - { - var data = reader.ReadAlignedString(); - } - - //PPtr m_SpriteAtlas - m_SpriteAtlas = sourceFile.ReadPPtr(); - } - - //SpriteRenderData m_RD - // PPtr texture - texture = sourceFile.ReadPPtr(); - // PPtr alphaTexture - if (version[0] >= 5) //5.0 and up - { - var alphaTexture = sourceFile.ReadPPtr(); - } - - if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up - { - // vector m_SubMeshes - var size = reader.ReadInt32(); - // SubMesh data - if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3)) //2017.3 and up - { - reader.Position += 48 * size; - } - else - { - reader.Position += 44 * size; - } - - // vector m_IndexBuffer - size = reader.ReadInt32(); - reader.Position += size; //UInt8 data - reader.AlignStream(4); - // VertexData m_VertexData - if (version[0] < 2018)//2018 down - { - var m_CurrentChannels = reader.ReadInt32(); - } - var m_VertexCount = reader.ReadUInt32(); - // vector m_Channels - size = reader.ReadInt32(); - reader.Position += size * 4; //ChannelInfo data - // TypelessData m_DataSize - size = reader.ReadInt32(); - reader.Position += size; //UInt8 data - reader.AlignStream(4); - - if (version[0] >= 2018)//2018 and up - { - // vector m_Bindpose - // Matrix4x4f data - size = reader.ReadInt32(); - reader.Position += size * 64; - if (version[0] == 2018 && version[1] < 2) //2018.2 down - { - // vector m_SourceSkin - // BoneWeights4 data - size = reader.ReadInt32(); - reader.Position += size * 32; - } - } + reader.Position += 48 * size; } else { - // vector vertices - var size = reader.ReadInt32(); - for (int i = 0; i < size; i++) - { - //SpriteVertex data - reader.Position += 12; //Vector3f pos - if (version[0] < 4 || (version[0] == 4 && version[1] <= 3)) //4.3 and down - reader.Position += 8; //Vector2f uv - } + reader.Position += 44 * size; + } - // vector indices + // vector m_IndexBuffer + size = reader.ReadInt32(); + reader.Position += size; //UInt8 data + reader.AlignStream(4); + // VertexData m_VertexData + if (version[0] < 2018)//2018 down + { + var m_CurrentChannels = reader.ReadInt32(); + } + var m_VertexCount = reader.ReadUInt32(); + // vector m_Channels + size = reader.ReadInt32(); + reader.Position += size * 4; //ChannelInfo data + // TypelessData m_DataSize + size = reader.ReadInt32(); + reader.Position += size; //UInt8 data + reader.AlignStream(4); + + if (version[0] >= 2018)//2018 and up + { + // vector m_Bindpose + // Matrix4x4f data size = reader.ReadInt32(); - reader.Position += 2 * size; //UInt16 data - reader.AlignStream(4); - } - - // Rectf textureRect - textureRect = new RectangleF(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); - // Vector2f textureRectOffset - reader.Position += 8; - // Vector2f atlasRectOffset - 5.6 and up - if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up - { - reader.Position += 8; - } - // unsigned int settingsRaw - reader.Position += 4; - // Vector4f uvTransform - 4.5 and up - if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up - { - reader.Position += 16; - } - if (version[0] >= 2017) //2017 and up - { - // float downscaleMultiplier - 2017 and up - reader.Position += 4; - //vector m_PhysicsShape - 2017 and up - var m_PhysicsShape_size = reader.ReadInt32(); - m_PhysicsShape = new PointF[m_PhysicsShape_size][]; - for (int i = 0; i < m_PhysicsShape_size; i++) + reader.Position += size * 64; + if (version[0] == 2018 && version[1] < 2) //2018.2 down { - var data_size = reader.ReadInt32(); - //Vector2f - m_PhysicsShape[i] = new PointF[data_size]; - for (int j = 0; j < data_size; j++) - { - m_PhysicsShape[i][j] = new PointF(reader.ReadSingle(), reader.ReadSingle()); - } + // vector m_SourceSkin + // BoneWeights4 data + size = reader.ReadInt32(); + reader.Position += size * 32; } } - //vector m_Bones 2018 and up } else { - preloadData.Text = m_Name; + // vector vertices + var size = reader.ReadInt32(); + for (int i = 0; i < size; i++) + { + //SpriteVertex data + reader.Position += 12; //Vector3f pos + if (version[0] < 4 || (version[0] == 4 && version[1] <= 3)) //4.3 and down + reader.Position += 8; //Vector2f uv + } + + // vector indices + size = reader.ReadInt32(); + reader.Position += 2 * size; //UInt16 data + reader.AlignStream(4); } + + // Rectf textureRect + textureRect = new RectangleF(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); + // Vector2f textureRectOffset + reader.Position += 8; + // Vector2f atlasRectOffset - 5.6 and up + if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up + { + reader.Position += 8; + } + // unsigned int settingsRaw + reader.Position += 4; + // Vector4f uvTransform - 4.5 and up + if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up + { + reader.Position += 16; + } + if (version[0] >= 2017) //2017 and up + { + // float downscaleMultiplier - 2017 and up + reader.Position += 4; + //vector m_PhysicsShape - 2017 and up + var m_PhysicsShape_size = reader.ReadInt32(); + m_PhysicsShape = new PointF[m_PhysicsShape_size][]; + for (int i = 0; i < m_PhysicsShape_size; i++) + { + var data_size = reader.ReadInt32(); + //Vector2f + m_PhysicsShape[i] = new PointF[data_size]; + for (int j = 0; j < data_size; j++) + { + m_PhysicsShape[i][j] = new PointF(reader.ReadSingle(), reader.ReadSingle()); + } + } + } + //vector m_Bones 2018 and up } } } diff --git a/AssetStudio/Classes/SpriteAtlas.cs b/AssetStudio/Classes/SpriteAtlas.cs index 8241eb3..103cd60 100644 --- a/AssetStudio/Classes/SpriteAtlas.cs +++ b/AssetStudio/Classes/SpriteAtlas.cs @@ -6,19 +6,15 @@ using System.Text; namespace AssetStudio { - class SpriteAtlas + public sealed class SpriteAtlas : NamedObject { public List textures = new List(); public List textureRects = new List(); public List guids = new List(); - public SpriteAtlas(AssetPreloadData preloadData) + public SpriteAtlas(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - var m_Name = reader.ReadAlignedString(); //vector m_PackedSprites var size = reader.ReadInt32(); for (int i = 0; i < size; i++) diff --git a/AssetStudio/Classes/TextAsset.cs b/AssetStudio/Classes/TextAsset.cs index fdbde6a..ebe6767 100644 --- a/AssetStudio/Classes/TextAsset.cs +++ b/AssetStudio/Classes/TextAsset.cs @@ -6,27 +6,13 @@ using System.Text; namespace AssetStudio { - class TextAsset + public sealed class TextAsset : NamedObject { - public string m_Name; public byte[] m_Script; - public TextAsset(AssetPreloadData preloadData, bool readSwitch) + public TextAsset(AssetPreloadData preloadData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - - if (readSwitch) - { - m_Script = reader.ReadBytes(reader.ReadInt32()); - } - else - { - preloadData.extension = ".txt"; - preloadData.Text = m_Name; - } + m_Script = reader.ReadBytes(reader.ReadInt32()); } } } diff --git a/AssetStudio/Classes/Texture.cs b/AssetStudio/Classes/Texture.cs new file mode 100644 index 0000000..beb74ca --- /dev/null +++ b/AssetStudio/Classes/Texture.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AssetStudio +{ + public abstract class Texture : NamedObject + { + protected Texture(AssetPreloadData preloadData) : base(preloadData) + { + if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3)) //2017.3 and up + { + var m_ForcedFallbackFormat = reader.ReadInt32(); + var m_DownscaleFallback = reader.ReadBoolean(); + reader.AlignStream(4); + } + } + } +} diff --git a/AssetStudio/Classes/Texture2D.cs b/AssetStudio/Classes/Texture2D.cs index 52f339e..1fe8d7f 100644 --- a/AssetStudio/Classes/Texture2D.cs +++ b/AssetStudio/Classes/Texture2D.cs @@ -7,11 +7,8 @@ using System.Runtime.InteropServices; namespace AssetStudio { - class Texture2D + public sealed class Texture2D : Texture { - public AssetPreloadData preloadData; - - public string m_Name; public int m_Width; public int m_Height; public int m_CompleteImageSize; @@ -37,20 +34,8 @@ namespace AssetStudio public uint size; public string path; - public Texture2D(AssetPreloadData preloadData, bool readSwitch) + public Texture2D(AssetPreloadData preloadData, bool readData) : base(preloadData) { - this.preloadData = preloadData; - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - var version = sourceFile.version; - - m_Name = reader.ReadAlignedString(); - if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3))//2017.3 and up - { - var m_ForcedFallbackFormat = reader.ReadInt32(); - var m_DownscaleFallback = reader.ReadBoolean(); - reader.AlignStream(4); - } m_Width = reader.ReadInt32(); m_Height = reader.ReadInt32(); m_CompleteImageSize = reader.ReadInt32(); @@ -116,7 +101,7 @@ namespace AssetStudio path = reader.ReadAlignedString(); } - if (readSwitch) + if (readData) { if (!string.IsNullOrEmpty(path)) { @@ -127,29 +112,6 @@ namespace AssetStudio image_data = reader.ReadBytes(image_data_size); } } - else - { - preloadData.InfoText = $"Width: {m_Width}\nHeight: {m_Height}\nFormat: {m_TextureFormat}"; - - switch (m_FilterMode) - { - case 0: preloadData.InfoText += "\nFilter Mode: Point "; break; - case 1: preloadData.InfoText += "\nFilter Mode: Bilinear "; break; - case 2: preloadData.InfoText += "\nFilter Mode: Trilinear "; break; - } - - preloadData.InfoText += $"\nAnisotropic level: {m_Aniso}\nMip map bias: {m_MipBias}"; - - switch (m_WrapMode) - { - case 0: preloadData.InfoText += "\nWrap mode: Repeat"; break; - case 1: preloadData.InfoText += "\nWrap mode: Clamp"; break; - } - - preloadData.Text = m_Name; - if (!string.IsNullOrEmpty(path)) - preloadData.fullSize = preloadData.Size + (int)size; - } } } diff --git a/AssetStudio/Classes/Transform.cs b/AssetStudio/Classes/Transform.cs index 9498e50..465dc14 100644 --- a/AssetStudio/Classes/Transform.cs +++ b/AssetStudio/Classes/Transform.cs @@ -6,28 +6,16 @@ using System.Text; namespace AssetStudio { - public class Transform + public class Transform : Component { - public PPtr m_GameObject; public float[] m_LocalRotation; public float[] m_LocalPosition; public float[] m_LocalScale; public List m_Children; public PPtr m_Father; - public Transform(Vector3 t, Quaternion q, Vector3 s) + public Transform(AssetPreloadData preloadData) : base(preloadData) { - m_LocalPosition = new[] { t.X, t.Y, t.Z }; - m_LocalRotation = new[] { q.X, q.Y, q.Z, q.W }; - m_LocalScale = new[] { s.X, s.Y, s.Z }; - } - - public Transform(AssetPreloadData preloadData) - { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_GameObject = sourceFile.ReadPPtr(); m_LocalRotation = new[] { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }; m_LocalPosition = new[] { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }; m_LocalScale = new[] { reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle() }; diff --git a/AssetStudio/Classes/VideoClip.cs b/AssetStudio/Classes/VideoClip.cs index dfb8866..c69fbef 100644 --- a/AssetStudio/Classes/VideoClip.cs +++ b/AssetStudio/Classes/VideoClip.cs @@ -6,18 +6,14 @@ using System.Text; namespace AssetStudio { - class VideoClip + public sealed class VideoClip : NamedObject { - public string m_Name; public byte[] m_VideoData; + public string m_OriginalPath; - public VideoClip(AssetPreloadData preloadData, bool readSwitch) + public VideoClip(AssetPreloadData preloadData, bool readData) : base(preloadData) { - var sourceFile = preloadData.sourceFile; - var reader = preloadData.InitReader(); - - m_Name = reader.ReadAlignedString(); - var m_OriginalPath = reader.ReadAlignedString(); + m_OriginalPath = reader.ReadAlignedString(); var m_ProxyWidth = reader.ReadUInt32(); var m_ProxyHeight = reader.ReadUInt32(); var Width = reader.ReadUInt32(); @@ -49,7 +45,7 @@ namespace AssetStudio var m_Size = reader.ReadUInt64(); var m_HasSplitAlpha = reader.ReadBoolean(); - if (readSwitch) + if (readData) { if (!string.IsNullOrEmpty(m_Source)) { @@ -61,12 +57,6 @@ namespace AssetStudio m_VideoData = reader.ReadBytes((int)m_Size); } } - else - { - preloadData.extension = Path.GetExtension(m_OriginalPath); - preloadData.Text = m_Name; - preloadData.fullSize = preloadData.Size + (int)m_Size; - } } } } diff --git a/AssetStudio/Properties/AssemblyInfo.cs b/AssetStudio/Properties/AssemblyInfo.cs index 475b25b..6252228 100644 --- a/AssetStudio/Properties/AssemblyInfo.cs +++ b/AssetStudio/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.10.0.0")] -[assembly: AssemblyFileVersion("0.10.0.0")] +[assembly: AssemblyVersion("0.11.0.0")] +[assembly: AssemblyFileVersion("0.11.0.0")] diff --git a/AssetStudio/StudioClasses/AssetPreloadData.cs b/AssetStudio/StudioClasses/AssetPreloadData.cs index 1d659de..cca5c51 100644 --- a/AssetStudio/StudioClasses/AssetPreloadData.cs +++ b/AssetStudio/StudioClasses/AssetPreloadData.cs @@ -18,7 +18,6 @@ namespace AssetStudio public string TypeString; public int fullSize; public string InfoText; - public string extension; public AssetsFile sourceFile; public GameObject gameObject; @@ -31,7 +30,7 @@ namespace AssetStudio return reader; } - public string GetClassString() + public string Dump() { var reader = InitReader(); if (sourceFile.ClassStructures.TryGetValue(Type1, out var classStructure)) diff --git a/AssetStudio/StudioClasses/AudioClipConverter.cs b/AssetStudio/StudioClasses/AudioClipConverter.cs new file mode 100644 index 0000000..d297a8b --- /dev/null +++ b/AssetStudio/StudioClasses/AudioClipConverter.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; + +namespace AssetStudio +{ + public class AudioClipConverter + { + private AudioClip m_AudioClip; + + public AudioClipConverter(AudioClip audioClip) + { + m_AudioClip = audioClip; + } + + public byte[] ConvertToWav() + { + var exinfo = new FMOD.CREATESOUNDEXINFO(); + var result = FMOD.Factory.System_Create(out var system); + if (result != FMOD.RESULT.OK) + return null; + result = system.init(1, FMOD.INITFLAGS.NORMAL, IntPtr.Zero); + if (result != FMOD.RESULT.OK) + return null; + exinfo.cbsize = Marshal.SizeOf(exinfo); + exinfo.length = (uint)m_AudioClip.m_Size; + result = system.createSound(m_AudioClip.m_AudioData, FMOD.MODE.OPENMEMORY, ref exinfo, out var sound); + if (result != FMOD.RESULT.OK) + return null; + result = sound.getSubSound(0, out var subsound); + if (result != FMOD.RESULT.OK) + return null; + result = subsound.getFormat(out var type, out var format, out int NumChannels, out int BitsPerSample); + if (result != FMOD.RESULT.OK) + return null; + result = subsound.getDefaults(out var frequency, out int priority); + if (result != FMOD.RESULT.OK) + return null; + var SampleRate = (int)frequency; + result = subsound.getLength(out var length, FMOD.TIMEUNIT.PCMBYTES); + if (result != FMOD.RESULT.OK) + return null; + result = subsound.@lock(0, length, out var ptr1, out var ptr2, out var len1, out var len2); + if (result != FMOD.RESULT.OK) + return null; + byte[] buffer = new byte[len1 + 44]; + //添加wav头 + Encoding.UTF8.GetBytes("RIFF").CopyTo(buffer, 0); + BitConverter.GetBytes(len1 + 36).CopyTo(buffer, 4); + Encoding.UTF8.GetBytes("WAVEfmt ").CopyTo(buffer, 8); + BitConverter.GetBytes(16).CopyTo(buffer, 16); + BitConverter.GetBytes((short)1).CopyTo(buffer, 20); + BitConverter.GetBytes((short)NumChannels).CopyTo(buffer, 22); + BitConverter.GetBytes(SampleRate).CopyTo(buffer, 24); + BitConverter.GetBytes(SampleRate * NumChannels * BitsPerSample / 8).CopyTo(buffer, 28); + BitConverter.GetBytes((short)(NumChannels * BitsPerSample / 8)).CopyTo(buffer, 32); + BitConverter.GetBytes((short)BitsPerSample).CopyTo(buffer, 34); + Encoding.UTF8.GetBytes("data").CopyTo(buffer, 36); + BitConverter.GetBytes(len1).CopyTo(buffer, 40); + Marshal.Copy(ptr1, buffer, 44, (int)len1); + result = subsound.unlock(ptr1, ptr2, len1, len2); + if (result != FMOD.RESULT.OK) + return null; + subsound.release(); + sound.release(); + system.release(); + return buffer; + } + + public string GetExtensionName() + { + if (m_AudioClip.sourceFile.version[0] < 5) + { + switch (m_AudioClip.m_Type) + { + case AudioType.ACC: + return ".m4a"; + case AudioType.AIFF: + return ".aif"; + case AudioType.IT: + return ".it"; + case AudioType.MOD: + return ".mod"; + case AudioType.MPEG: + return ".mp3"; + case AudioType.OGGVORBIS: + return ".ogg"; + case AudioType.S3M: + return ".s3m"; + case AudioType.WAV: + return ".wav"; + case AudioType.XM: + return ".xm"; + case AudioType.XMA: + return ".wav"; + case AudioType.VAG: + return ".vag"; + case AudioType.AUDIOQUEUE: + return ".fsb"; + } + + } + else + { + switch (m_AudioClip.m_CompressionFormat) + { + case AudioCompressionFormat.PCM: + return ".fsb"; + case AudioCompressionFormat.Vorbis: + return ".fsb"; + case AudioCompressionFormat.ADPCM: + return ".fsb"; + case AudioCompressionFormat.MP3: + return ".fsb"; + case AudioCompressionFormat.VAG: + return ".vag"; + case AudioCompressionFormat.HEVAG: + return ".vag"; + case AudioCompressionFormat.XMA: + return ".wav"; + case AudioCompressionFormat.AAC: + return ".m4a"; + case AudioCompressionFormat.GCADPCM: + return ".fsb"; + case AudioCompressionFormat.ATRAC9: + return ".at9"; + } + } + + return ".AudioClip"; + } + + public bool IsFMODSupport + { + get + { + if (m_AudioClip.sourceFile.version[0] < 5) + { + switch (m_AudioClip.m_Type) + { + case AudioType.AIFF: + case AudioType.IT: + case AudioType.MOD: + case AudioType.S3M: + case AudioType.XM: + case AudioType.XMA: + case AudioType.VAG: + case AudioType.AUDIOQUEUE: + return true; + default: + return false; + } + } + else + { + switch (m_AudioClip.m_CompressionFormat) + { + case AudioCompressionFormat.PCM: + case AudioCompressionFormat.Vorbis: + case AudioCompressionFormat.ADPCM: + case AudioCompressionFormat.MP3: + case AudioCompressionFormat.VAG: + case AudioCompressionFormat.HEVAG: + case AudioCompressionFormat.XMA: + case AudioCompressionFormat.GCADPCM: + case AudioCompressionFormat.ATRAC9: + return true; + default: + return false; + } + } + } + } + } +} diff --git a/AssetStudio/StudioClasses/Exporter.cs b/AssetStudio/StudioClasses/Exporter.cs index 1ab1d14..638d07a 100644 --- a/AssetStudio/StudioClasses/Exporter.cs +++ b/AssetStudio/StudioClasses/Exporter.cs @@ -12,14 +12,16 @@ namespace AssetStudio { public static bool ExportTexture2D(AssetPreloadData asset, string exportPathName, bool flip) { - var texture2D = new Texture2D(asset, true); - if (texture2D.image_data == null || texture2D.image_data.Length == 0) + var m_Texture2D = new Texture2D(asset, true); + if (m_Texture2D.image_data == null || m_Texture2D.image_data.Length == 0) return false; - var m_Texture2D = new Texture2DConverter(texture2D); - var convert = (bool)Properties.Settings.Default["convertTexture"]; - var bitmap = m_Texture2D.ConvertToBitmap(flip); - if (convert && bitmap != null) + var converter = new Texture2DConverter(m_Texture2D); + var convertTexture = (bool)Properties.Settings.Default["convertTexture"]; + if (convertTexture) { + var bitmap = converter.ConvertToBitmap(flip); + if (bitmap == null) + return false; ImageFormat format = null; var ext = (string)Properties.Settings.Default["convertType"]; switch (ext) @@ -43,10 +45,10 @@ namespace AssetStudio } else { - var exportFullName = exportPathName + asset.Text + m_Texture2D.GetExtensionName(); + var exportFullName = exportPathName + asset.Text + converter.GetExtensionName(); if (ExportFileExists(exportFullName)) return false; - File.WriteAllBytes(exportFullName, m_Texture2D.ConvertToContainer()); + File.WriteAllBytes(exportFullName, converter.ConvertToContainer()); return true; } } @@ -57,65 +59,20 @@ namespace AssetStudio if (m_AudioClip.m_AudioData == null) return false; var convertAudio = (bool)Properties.Settings.Default["convertAudio"]; - if (convertAudio && m_AudioClip.IsFMODSupport) + var converter = new AudioClipConverter(m_AudioClip); + if (convertAudio && converter.IsFMODSupport) { var exportFullName = exportPath + asset.Text + ".wav"; if (ExportFileExists(exportFullName)) return false; - FMOD.CREATESOUNDEXINFO exinfo = new FMOD.CREATESOUNDEXINFO(); - var result = FMOD.Factory.System_Create(out var system); - if (result != FMOD.RESULT.OK) + var buffer = converter.ConvertToWav(); + if (buffer == null) return false; - result = system.init(1, FMOD.INITFLAGS.NORMAL, IntPtr.Zero); - if (result != FMOD.RESULT.OK) - return false; - exinfo.cbsize = Marshal.SizeOf(exinfo); - exinfo.length = (uint)m_AudioClip.m_Size; - result = system.createSound(m_AudioClip.m_AudioData, FMOD.MODE.OPENMEMORY, ref exinfo, out var sound); - if (result != FMOD.RESULT.OK) - return false; - result = sound.getSubSound(0, out var subsound); - if (result != FMOD.RESULT.OK) - return false; - result = subsound.getFormat(out var type, out var format, out int NumChannels, out int BitsPerSample); - if (result != FMOD.RESULT.OK) - return false; - result = subsound.getDefaults(out var frequency, out int priority); - if (result != FMOD.RESULT.OK) - return false; - var SampleRate = (int)frequency; - result = subsound.getLength(out var length, FMOD.TIMEUNIT.PCMBYTES); - if (result != FMOD.RESULT.OK) - return false; - result = subsound.@lock(0, length, out var ptr1, out var ptr2, out var len1, out var len2); - if (result != FMOD.RESULT.OK) - return false; - byte[] buffer = new byte[len1 + 44]; - //添加wav头 - Encoding.UTF8.GetBytes("RIFF").CopyTo(buffer, 0); - BitConverter.GetBytes(len1 + 36).CopyTo(buffer, 4); - Encoding.UTF8.GetBytes("WAVEfmt ").CopyTo(buffer, 8); - BitConverter.GetBytes(16).CopyTo(buffer, 16); - BitConverter.GetBytes((short)1).CopyTo(buffer, 20); - BitConverter.GetBytes((short)NumChannels).CopyTo(buffer, 22); - BitConverter.GetBytes(SampleRate).CopyTo(buffer, 24); - BitConverter.GetBytes(SampleRate * NumChannels * BitsPerSample / 8).CopyTo(buffer, 28); - BitConverter.GetBytes((short)(NumChannels * BitsPerSample / 8)).CopyTo(buffer, 32); - BitConverter.GetBytes((short)BitsPerSample).CopyTo(buffer, 34); - Encoding.UTF8.GetBytes("data").CopyTo(buffer, 36); - BitConverter.GetBytes(len1).CopyTo(buffer, 40); - Marshal.Copy(ptr1, buffer, 44, (int)len1); File.WriteAllBytes(exportFullName, buffer); - result = subsound.unlock(ptr1, ptr2, len1, len2); - if (result != FMOD.RESULT.OK) - return false; - subsound.release(); - sound.release(); - system.release(); } else { - var exportFullName = exportPath + asset.Text + asset.extension; + var exportFullName = exportPath + asset.Text + converter.GetExtensionName(); if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_AudioClip.m_AudioData); @@ -125,8 +82,8 @@ namespace AssetStudio public static bool ExportShader(AssetPreloadData asset, string exportPath) { - var m_Shader = new Shader(asset, true); - var exportFullName = exportPath + asset.Text + asset.extension; + var m_Shader = new Shader(asset); + var exportFullName = exportPath + asset.Text + ".shader"; if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_Shader.m_Script); @@ -135,8 +92,8 @@ namespace AssetStudio public static bool ExportTextAsset(AssetPreloadData asset, string exportPath) { - var m_TextAsset = new TextAsset(asset, true); - var exportFullName = exportPath + asset.Text + asset.extension; + var m_TextAsset = new TextAsset(asset); + var exportFullName = exportPath + asset.Text + ".txt"; if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_TextAsset.m_Script); @@ -152,7 +109,7 @@ namespace AssetStudio string str; if (asset.Type1 != asset.Type2 && asset.sourceFile.ClassStructures.ContainsKey(asset.Type1)) { - str = asset.GetClassString(); + str = asset.Dump(); } else { @@ -164,10 +121,15 @@ namespace AssetStudio public static bool ExportFont(AssetPreloadData asset, string exportPath) { - var m_Font = new UFont(asset, true); + var m_Font = new Font(asset); if (m_Font.m_FontData != null) { - var exportFullName = exportPath + asset.Text + asset.extension; + string extension = ".ttf"; + if (m_Font.m_FontData[0] == 79 && m_Font.m_FontData[1] == 84 && m_Font.m_FontData[2] == 84 && m_Font.m_FontData[3] == 79) + { + extension = ".otf"; + } + var exportFullName = exportPath + asset.Text + extension; if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_Font.m_FontData); @@ -178,10 +140,10 @@ namespace AssetStudio public static bool ExportMesh(AssetPreloadData asset, string exportPath) { - var m_Mesh = new Mesh(asset, true); + var m_Mesh = new Mesh(asset); if (m_Mesh.m_VertexCount <= 0) return false; - var exportFullName = exportPath + asset.Text + asset.extension; + var exportFullName = exportPath + asset.Text + ".obj"; if (ExportFileExists(exportFullName)) return false; var sb = new StringBuilder(); @@ -262,7 +224,7 @@ namespace AssetStudio var m_VideoClip = new VideoClip(asset, true); if (m_VideoClip.m_VideoData != null) { - var exportFullName = exportPath + asset.Text + asset.extension; + var exportFullName = exportPath + asset.Text + Path.GetExtension(m_VideoClip.m_OriginalPath); if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_VideoClip.m_VideoData); @@ -273,8 +235,8 @@ namespace AssetStudio public static bool ExportMovieTexture(AssetPreloadData asset, string exportPath) { - var m_MovieTexture = new MovieTexture(asset, true); - var exportFullName = exportPath + asset.Text + asset.extension; + var m_MovieTexture = new MovieTexture(asset); + var exportFullName = exportPath + asset.Text + ".ogv"; if (ExportFileExists(exportFullName)) return false; File.WriteAllBytes(exportFullName, m_MovieTexture.m_MovieData); @@ -300,7 +262,7 @@ namespace AssetStudio var exportFullName = exportPath + asset.Text + "." + type.ToLower(); if (ExportFileExists(exportFullName)) return false; - var bitmap = SpriteHelper.GetImageFromSprite(asset); + var bitmap = SpriteHelper.GetImageFromSprite(new Sprite(asset)); if (bitmap != null) { bitmap.Save(exportFullName, format); @@ -340,7 +302,7 @@ namespace AssetStudio public static bool ExportGameObject(GameObject gameObject, string exportPath, List animationList = null) { var convert = animationList != null ? new ModelConverter(gameObject, animationList) : new ModelConverter(gameObject); - exportPath = exportPath + Studio.FixFileName(gameObject.Text) + ".fbx"; + exportPath = exportPath + Studio.FixFileName(gameObject.m_Name) + ".fbx"; return ModelConverter(convert, exportPath); } diff --git a/AssetStudio/StudioClasses/FBXExporter.cs b/AssetStudio/StudioClasses/FBXExporter.cs index fffb21c..2ce1ffe 100644 --- a/AssetStudio/StudioClasses/FBXExporter.cs +++ b/AssetStudio/StudioClasses/FBXExporter.cs @@ -73,7 +73,7 @@ namespace AssetStudio //write connections here and Mesh objects separately without having to backtrack through their MEshFilter to het the GameObject ID //also note that MeshFilters are not unique, they cannot be used for instancing geometry cb2.AppendFormat("\n\n\t;Geometry::, Model::{0}", m_GameObject.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",3{0},1{1}", MeshPD.uniqueID, m_GameObject.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",3{0},1{1}", MeshPD.uniqueID, m_GameObject.preloadData.uniqueID); } } @@ -88,7 +88,7 @@ namespace AssetStudio { Materials.Add(MaterialPD); cb2.AppendFormat("\n\n\t;Material::, Model::{0}", m_GameObject.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",6{0},1{1}", MaterialPD.uniqueID, m_GameObject.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",6{0},1{1}", MaterialPD.uniqueID, m_GameObject.preloadData.uniqueID); } } } @@ -108,7 +108,7 @@ namespace AssetStudio { Materials.Add(MaterialPD); cb2.AppendFormat("\n\n\t;Material::, Model::{0}", m_GameObject.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",6{0},1{1}", MaterialPD.uniqueID, m_GameObject.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",6{0},1{1}", MaterialPD.uniqueID, m_GameObject.preloadData.uniqueID); } } @@ -125,7 +125,11 @@ namespace AssetStudio { LimbNodes.Add(m_Bone); //also collect the root bone - if (m_Bone.Parent.Level > 0) { LimbNodes.Add((GameObject)m_Bone.Parent); } + var parent = (GameObjectTreeNode)treeNodeDictionary[m_Bone].Parent; + if (parent.Level > 0) + { + LimbNodes.Add(parent.gameObject); + } //should I collect siblings? } @@ -396,28 +400,28 @@ namespace AssetStudio { if ((bool)Properties.Settings.Default["exportDeformers"] && (bool)Properties.Settings.Default["convertDummies"] && LimbNodes.Contains(m_GameObject)) { - ob.AppendFormat("\n\tNodeAttribute: 2{0}, \"NodeAttribute::\", \"LimbNode\" {{", m_GameObject.uniqueID); + ob.AppendFormat("\n\tNodeAttribute: 2{0}, \"NodeAttribute::\", \"LimbNode\" {{", m_GameObject.preloadData.uniqueID); ob.Append("\n\t\tTypeFlags: \"Skeleton\""); ob.Append("\n\t}"); - ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"LimbNode\" {{", m_GameObject.uniqueID, m_GameObject.m_Name); + ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"LimbNode\" {{", m_GameObject.preloadData.uniqueID, m_GameObject.m_Name); } else { - ob.AppendFormat("\n\tNodeAttribute: 2{0}, \"NodeAttribute::\", \"Null\" {{", m_GameObject.uniqueID); + ob.AppendFormat("\n\tNodeAttribute: 2{0}, \"NodeAttribute::\", \"Null\" {{", m_GameObject.preloadData.uniqueID); ob.Append("\n\t\tTypeFlags: \"Null\""); ob.Append("\n\t}"); - ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"Null\" {{", m_GameObject.uniqueID, m_GameObject.m_Name); + ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"Null\" {{", m_GameObject.preloadData.uniqueID, m_GameObject.m_Name); } //connect NodeAttribute to Model cb.AppendFormat("\n\n\t;NodeAttribute::, Model::{0}", m_GameObject.m_Name); - cb.AppendFormat("\n\tC: \"OO\",2{0},1{0}", m_GameObject.uniqueID); + cb.AppendFormat("\n\tC: \"OO\",2{0},1{0}", m_GameObject.preloadData.uniqueID); } else { - ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"Mesh\" {{", m_GameObject.uniqueID, m_GameObject.m_Name); + ob.AppendFormat("\n\tModel: 1{0}, \"Model::{1}\", \"Mesh\" {{", m_GameObject.preloadData.uniqueID, m_GameObject.m_Name); } ob.Append("\n\t\tVersion: 232"); @@ -442,16 +446,16 @@ namespace AssetStudio ob.Append("\n\t\tCulling: \"CullingOff\"\n\t}"); //connect Model to parent - GameObject parentObject = (GameObject)m_GameObject.Parent; + var parentObject = ((GameObjectTreeNode)treeNodeDictionary[m_GameObject].Parent).gameObject; if (GameObjects.Contains(parentObject)) { cb.AppendFormat("\n\n\t;Model::{0}, Model::{1}", m_GameObject.m_Name, parentObject.m_Name); - cb.AppendFormat("\n\tC: \"OO\",1{0},1{1}", m_GameObject.uniqueID, parentObject.uniqueID); + cb.AppendFormat("\n\tC: \"OO\",1{0},1{1}", m_GameObject.preloadData.uniqueID, parentObject.preloadData.uniqueID); } else { cb.AppendFormat("\n\n\t;Model::{0}, Model::RootNode", m_GameObject.m_Name); - cb.AppendFormat("\n\tC: \"OO\",1{0},0", m_GameObject.uniqueID); + cb.AppendFormat("\n\tC: \"OO\",1{0},0", m_GameObject.preloadData.uniqueID); } @@ -461,7 +465,7 @@ namespace AssetStudio #region write non-skinnned Geometry foreach (var MeshPD in Meshes) { - Mesh m_Mesh = new Mesh(MeshPD, true); + Mesh m_Mesh = new Mesh(MeshPD); MeshFBX(m_Mesh, MeshPD.uniqueID, ob); //write data 8MB at a time @@ -489,7 +493,7 @@ namespace AssetStudio //find a way to test if a mesh instance was loaded previously and if it uses the same skeleton, then create instance or copy var keepID = MeshPD.uniqueID; MeshPD.uniqueID = SkinnedMeshPD.uniqueID; - Mesh m_Mesh = new Mesh(MeshPD, true); + Mesh m_Mesh = new Mesh(MeshPD); MeshFBX(m_Mesh, MeshPD.uniqueID, ob); //write data 8MB at a time @@ -497,13 +501,13 @@ namespace AssetStudio { FBXwriter.Write(ob); ob.Clear(); } cb2.AppendFormat("\n\n\t;Geometry::, Model::{0}", m_GameObject.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",3{0},1{1}", MeshPD.uniqueID, m_GameObject.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",3{0},1{1}", MeshPD.uniqueID, m_GameObject.preloadData.uniqueID); if ((bool)Properties.Settings.Default["exportDeformers"]) { //add BindPose node pb.Append("\n\t\tPoseNode: {"); - pb.AppendFormat("\n\t\t\tNode: 1{0}", m_GameObject.uniqueID); + pb.AppendFormat("\n\t\t\tNode: 1{0}", m_GameObject.preloadData.uniqueID); //pb.Append("\n\t\t\tMatrix: *16 {"); //pb.Append("\n\t\t\t\ta: "); //pb.Append("\n\t\t\t} "); @@ -516,7 +520,7 @@ namespace AssetStudio //connect Model to DisplayLayer cb2.AppendFormat("\n\n\t;Model::{0}, DisplayLayer::", m_GameObject.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",1{0},5{1}", m_GameObject.uniqueID, SkinnedMeshPD.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",1{0},5{1}", m_GameObject.preloadData.uniqueID, SkinnedMeshPD.uniqueID); //write Deformers if (m_Mesh.m_Skin.Length > 0 && m_Mesh.m_BindPose.Length >= m_SkinnedMeshRenderer.m_Bones.Length) @@ -616,7 +620,7 @@ namespace AssetStudio //connect dummy Model to SubDeformer cb2.AppendFormat("\n\n\t;Model::{0}, SubDeformer::", m_Bone.m_Name); - cb2.AppendFormat("\n\tC: \"OO\",1{0},4{1}{2}", m_Bone.uniqueID, b, SkinnedMeshPD.uniqueID); + cb2.AppendFormat("\n\tC: \"OO\",1{0},4{1}{2}", m_Bone.preloadData.uniqueID, b, SkinnedMeshPD.uniqueID); } } } @@ -633,7 +637,7 @@ namespace AssetStudio { //add BindPose node pb.Append("\n\t\tPoseNode: {"); - pb.AppendFormat("\n\t\t\tNode: 1{0}", m_Bone.uniqueID); + pb.AppendFormat("\n\t\t\tNode: 1{0}", m_Bone.preloadData.uniqueID); //pb.Append("\n\t\t\tMatrix: *16 {"); //pb.Append("\n\t\t\t\ta: "); //pb.Append("\n\t\t\t} "); diff --git a/AssetStudio/StudioClasses/GameObjectTreeNode.cs b/AssetStudio/StudioClasses/GameObjectTreeNode.cs new file mode 100644 index 0000000..a8bc7a2 --- /dev/null +++ b/AssetStudio/StudioClasses/GameObjectTreeNode.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace AssetStudio +{ + public class GameObjectTreeNode : TreeNode + { + public GameObject gameObject; + + public GameObjectTreeNode(GameObject gameObject) + { + if (gameObject != null) + { + this.gameObject = gameObject; + Text = gameObject.m_Name; + } + } + } +} diff --git a/AssetStudio/StudioClasses/ModelConverter.cs b/AssetStudio/StudioClasses/ModelConverter.cs index 14e0ce8..81d7548 100644 --- a/AssetStudio/StudioClasses/ModelConverter.cs +++ b/AssetStudio/StudioClasses/ModelConverter.cs @@ -86,7 +86,7 @@ namespace AssetStudio var frameList = new List(); while (assetsfileList.TryGetTransform(rootTransform.m_Father, out var m_Father)) { - frameList.Add(ConvertFrames(m_Father)); + frameList.Add(ConvertFrame(m_Father)); rootTransform = m_Father; } if (frameList.Count > 0) @@ -192,7 +192,7 @@ namespace AssetStudio } } - private ImportedFrame ConvertFrames(Transform trans) + private ImportedFrame ConvertFrame(Transform trans) { var frame = new ImportedFrame(); assetsfileList.TryGetGameObject(trans.m_GameObject, out var m_GameObject); @@ -205,21 +205,24 @@ namespace AssetStudio return frame; } - private ImportedFrame ConvertFrame(Transform trans, string name) + private ImportedFrame ConvertFrame(Vector3 t, Quaternion q, Vector3 s, string name) { var frame = new ImportedFrame(); frame.Name = name; frame.InitChildren(0); - var m_EulerRotation = QuatToEuler(new[] { trans.m_LocalRotation[0], -trans.m_LocalRotation[1], -trans.m_LocalRotation[2], trans.m_LocalRotation[3] }); + var m_LocalPosition = new[] { t.X, t.Y, t.Z }; + var m_LocalRotation = new[] { q.X, q.Y, q.Z, q.W }; + var m_LocalScale = new[] { s.X, s.Y, s.Z }; + var m_EulerRotation = QuatToEuler(new[] { m_LocalRotation[0], -m_LocalRotation[1], -m_LocalRotation[2], m_LocalRotation[3] }); frame.LocalRotation = new[] { m_EulerRotation[0], m_EulerRotation[1], m_EulerRotation[2] }; - frame.LocalScale = new[] { trans.m_LocalScale[0], trans.m_LocalScale[1], trans.m_LocalScale[2] }; - frame.LocalPosition = new[] { -trans.m_LocalPosition[0], trans.m_LocalPosition[1], trans.m_LocalPosition[2] }; + frame.LocalScale = new[] { m_LocalScale[0], m_LocalScale[1], m_LocalScale[2] }; + frame.LocalPosition = new[] { -m_LocalPosition[0], m_LocalPosition[1], m_LocalPosition[2] }; return frame; } private void ConvertFrames(Transform trans, ImportedFrame parent) { - var frame = ConvertFrames(trans); + var frame = ConvertFrame(trans); if (parent == null) { FrameList.Add(frame); @@ -235,7 +238,7 @@ namespace AssetStudio } } - private void ConvertMeshRenderer(MeshRenderer meshR) + private void ConvertMeshRenderer(Renderer meshR) { var mesh = GetMesh(meshR); if (mesh == null) @@ -558,13 +561,13 @@ namespace AssetStudio MeshList.Add(iMesh); } - private Mesh GetMesh(MeshRenderer meshR) + private Mesh GetMesh(Renderer meshR) { if (meshR is SkinnedMeshRenderer sMesh) { if (assetsfileList.TryGetPD(sMesh.m_Mesh, out var MeshPD)) { - return new Mesh(MeshPD, true); + return new Mesh(MeshPD); } } else @@ -579,7 +582,7 @@ namespace AssetStudio var m_MeshFilter = new MeshFilter(assetPreloadData); if (assetsfileList.TryGetPD(m_MeshFilter.m_Mesh, out var MeshPD)) { - return new Mesh(MeshPD, true); + return new Mesh(MeshPD); } } } @@ -1075,8 +1078,7 @@ namespace AssetStudio var v4 = (Vector4)xform.s; s = (Vector3)v4; } - var curTransform = new Transform(t, xform.q, s); - var frame = ConvertFrame(curTransform, transformName); + var frame = ConvertFrame(t, xform.q, s, transformName); parentFrame.AddChild(frame); } } diff --git a/AssetStudio/StudioClasses/ShaderResource.Designer.cs b/AssetStudio/StudioClasses/ShaderResource.Designer.cs deleted file mode 100644 index f299787..0000000 --- a/AssetStudio/StudioClasses/ShaderResource.Designer.cs +++ /dev/null @@ -1,108 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -namespace AssetStudio { - using System; - - - /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 - /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class ShaderResource { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal ShaderResource() { - } - - /// - /// 返回此类使用的缓存的 ResourceManager 实例。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AssetStudio.StudioClasses.ShaderResource", typeof(ShaderResource).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// 使用此强类型资源类,为所有资源查找 - /// 重写当前线程的 CurrentUICulture 属性。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// 查找类似 [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Arr... 的本地化字符串。 - /// - internal static string Shader20171 { - get { - return ResourceManager.GetString("Shader20171", resourceCulture); - } - } - - /// - /// 查找类似 [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Arr... 的本地化字符串。 - /// - internal static string Shader20172 { - get { - return ResourceManager.GetString("Shader20172", resourceCulture); - } - } - - /// - /// 查找类似 [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Arr... 的本地化字符串。 - /// - internal static string Shader20173 { - get { - return ResourceManager.GetString("Shader20173", resourceCulture); - } - } - - /// - /// 查找类似 [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Arr... 的本地化字符串。 - /// - internal static string Shader55 { - get { - return ResourceManager.GetString("Shader55", resourceCulture); - } - } - - /// - /// 查找类似 [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Arr... 的本地化字符串。 - /// - internal static string Shader56 { - get { - return ResourceManager.GetString("Shader56", resourceCulture); - } - } - } -} diff --git a/AssetStudio/StudioClasses/ShaderResource.resx b/AssetStudio/StudioClasses/ShaderResource.resx deleted file mode 100644 index 794a5d8..0000000 --- a/AssetStudio/StudioClasses/ShaderResource.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":4,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":4,"Type":"SerializedProperty","Name":"data","Size":-1,"Flag":32768},{"Level":5,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"string","Name":"m_Description","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"vector","Name":"m_Attributes","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"string","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":5,"Type":"unsigned int","Name":"m_Flags","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[0]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[1]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[2]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[3]","Size":4,"Flag":0},{"Level":5,"Type":"SerializedTextureProperty","Name":"m_DefTexture","Size":-1,"Flag":32768},{"Level":6,"Type":"string","Name":"m_DefaultName","Size":-1,"Flag":32768},{"Level":7,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":8,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":8,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":6,"Type":"int","Name":"m_TexDim","Size":4,"Flag":0},{"Level":1,"Type":"vector","Name":"m_SubShaders","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedSubShader","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"vector","Name":"m_Passes","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":6,"Type":"SerializedPass","Name":"data","Size":-1,"Flag":32768},{"Level":7,"Type":"map","Name":"m_NameIndices","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":9,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":10,"Type":"int","Name":"second","Size":4,"Flag":0},{"Level":7,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":7,"Type":"SerializedShaderState","Name":"m_State","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend0","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend1","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend2","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend3","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend4","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend5","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend6","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend7","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"bool","Name":"rtSeparateBlend","Size":1,"Flag":16384},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zTest","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zWrite","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"culling","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetFactor","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetUnits","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"alphaToMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOp","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpFront","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpBack","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilReadMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilWriteMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilRef","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogStart","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogEnd","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogDensity","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderVectorValue","Name":"fogColor","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"x","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"y","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"z","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"w","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"fogMode","Size":4,"Flag":0},{"Level":8,"Type":"int","Name":"gpuProgramID","Size":4,"Flag":0},{"Level":8,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":9,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":11,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":12,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":12,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":8,"Type":"bool","Name":"lighting","Size":1,"Flag":16384},{"Level":7,"Type":"unsigned int","Name":"m_ProgramMask","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progVertex","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progFragment","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progGeometry","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progHull","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progDomain","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":7,"Type":"bool","Name":"m_HasInstancingVariant","Size":1,"Flag":16384},{"Level":7,"Type":"string","Name":"m_UseName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_TextureName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":8,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":11,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":5,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":1,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_CustomEditorName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_FallbackName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedShaderDependency","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"string","Name":"from","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"string","Name":"to","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"bool","Name":"m_DisableNoSubshadersMessage","Size":1,"Flag":16384},{"Level":0,"Type":"vector","Name":"platforms","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"offsets","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"decompressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedBlob","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"UInt8","Name":"data","Size":1,"Flag":0},{"Level":0,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"PPtr\u003cShader\u003e","Name":"data","Size":12,"Flag":0},{"Level":3,"Type":"int","Name":"m_FileID","Size":4,"Flag":1},{"Level":3,"Type":"SInt64","Name":"m_PathID","Size":8,"Flag":1},{"Level":0,"Type":"bool","Name":"m_ShaderIsBaked","Size":1,"Flag":16384}] - - - [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":4,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":4,"Type":"SerializedProperty","Name":"data","Size":-1,"Flag":32768},{"Level":5,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"string","Name":"m_Description","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"vector","Name":"m_Attributes","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"string","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":5,"Type":"unsigned int","Name":"m_Flags","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[0]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[1]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[2]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[3]","Size":4,"Flag":0},{"Level":5,"Type":"SerializedTextureProperty","Name":"m_DefTexture","Size":-1,"Flag":32768},{"Level":6,"Type":"string","Name":"m_DefaultName","Size":-1,"Flag":32768},{"Level":7,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":8,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":8,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":6,"Type":"int","Name":"m_TexDim","Size":4,"Flag":0},{"Level":1,"Type":"vector","Name":"m_SubShaders","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedSubShader","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"vector","Name":"m_Passes","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":6,"Type":"SerializedPass","Name":"data","Size":-1,"Flag":32768},{"Level":7,"Type":"map","Name":"m_NameIndices","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":9,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":10,"Type":"int","Name":"second","Size":4,"Flag":0},{"Level":7,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":7,"Type":"SerializedShaderState","Name":"m_State","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend0","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend1","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend2","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend3","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend4","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend5","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend6","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend7","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"bool","Name":"rtSeparateBlend","Size":1,"Flag":16384},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zClip","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zTest","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zWrite","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"culling","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetFactor","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetUnits","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"alphaToMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOp","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpFront","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpBack","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilReadMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilWriteMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilRef","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogStart","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogEnd","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogDensity","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderVectorValue","Name":"fogColor","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"x","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"y","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"z","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"w","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"fogMode","Size":4,"Flag":0},{"Level":8,"Type":"int","Name":"gpuProgramID","Size":4,"Flag":0},{"Level":8,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":9,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":11,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":12,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":12,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":8,"Type":"bool","Name":"lighting","Size":1,"Flag":16384},{"Level":7,"Type":"unsigned int","Name":"m_ProgramMask","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progVertex","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progFragment","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progGeometry","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progHull","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progDomain","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"bool","Name":"m_HasInstancingVariant","Size":1,"Flag":16384},{"Level":7,"Type":"string","Name":"m_UseName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_TextureName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":8,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":11,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":5,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":1,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_CustomEditorName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_FallbackName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedShaderDependency","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"string","Name":"from","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"string","Name":"to","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"bool","Name":"m_DisableNoSubshadersMessage","Size":1,"Flag":16384},{"Level":0,"Type":"vector","Name":"platforms","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"offsets","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"decompressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedBlob","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"UInt8","Name":"data","Size":1,"Flag":0},{"Level":0,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"PPtr\u003cShader\u003e","Name":"data","Size":12,"Flag":0},{"Level":3,"Type":"int","Name":"m_FileID","Size":4,"Flag":1},{"Level":3,"Type":"SInt64","Name":"m_PathID","Size":8,"Flag":1},{"Level":0,"Type":"bool","Name":"m_ShaderIsBaked","Size":1,"Flag":16384}] - - - [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":4,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":4,"Type":"SerializedProperty","Name":"data","Size":-1,"Flag":32768},{"Level":5,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"string","Name":"m_Description","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"vector","Name":"m_Attributes","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"string","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":5,"Type":"unsigned int","Name":"m_Flags","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[0]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[1]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[2]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[3]","Size":4,"Flag":0},{"Level":5,"Type":"SerializedTextureProperty","Name":"m_DefTexture","Size":-1,"Flag":32768},{"Level":6,"Type":"string","Name":"m_DefaultName","Size":-1,"Flag":32768},{"Level":7,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":8,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":8,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":6,"Type":"int","Name":"m_TexDim","Size":4,"Flag":0},{"Level":1,"Type":"vector","Name":"m_SubShaders","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedSubShader","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"vector","Name":"m_Passes","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":6,"Type":"SerializedPass","Name":"data","Size":-1,"Flag":32768},{"Level":7,"Type":"map","Name":"m_NameIndices","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":9,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":10,"Type":"int","Name":"second","Size":4,"Flag":0},{"Level":7,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":7,"Type":"SerializedShaderState","Name":"m_State","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend0","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend1","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend2","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend3","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend4","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend5","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend6","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend7","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"bool","Name":"rtSeparateBlend","Size":1,"Flag":16384},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zClip","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zTest","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zWrite","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"culling","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetFactor","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetUnits","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"alphaToMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOp","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpFront","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpBack","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilReadMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilWriteMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilRef","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogStart","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogEnd","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogDensity","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderVectorValue","Name":"fogColor","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"x","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"y","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"z","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"w","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"fogMode","Size":4,"Flag":0},{"Level":8,"Type":"int","Name":"gpuProgramID","Size":4,"Flag":0},{"Level":8,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":9,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":11,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":12,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":12,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":8,"Type":"bool","Name":"lighting","Size":1,"Flag":16384},{"Level":7,"Type":"unsigned int","Name":"m_ProgramMask","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progVertex","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"bool","Name":"m_MultiSampled","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_StructParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"StructParameter","Name":"data","Size":-1,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_StructSize","Size":4,"Flag":0},{"Level":17,"Type":"vector","Name":"m_VectorMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":17,"Type":"vector","Name":"m_MatrixMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progFragment","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"bool","Name":"m_MultiSampled","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_StructParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"StructParameter","Name":"data","Size":-1,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_StructSize","Size":4,"Flag":0},{"Level":17,"Type":"vector","Name":"m_VectorMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":17,"Type":"vector","Name":"m_MatrixMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progGeometry","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"bool","Name":"m_MultiSampled","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_StructParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"StructParameter","Name":"data","Size":-1,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_StructSize","Size":4,"Flag":0},{"Level":17,"Type":"vector","Name":"m_VectorMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":17,"Type":"vector","Name":"m_MatrixMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progHull","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"bool","Name":"m_MultiSampled","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_StructParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"StructParameter","Name":"data","Size":-1,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_StructSize","Size":4,"Flag":0},{"Level":17,"Type":"vector","Name":"m_VectorMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":17,"Type":"vector","Name":"m_MatrixMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progDomain","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":49152},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"bool","Name":"m_MultiSampled","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_StructParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"StructParameter","Name":"data","Size":-1,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_StructSize","Size":4,"Flag":0},{"Level":17,"Type":"vector","Name":"m_VectorMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":17,"Type":"vector","Name":"m_MatrixMembers","Size":-1,"Flag":32768},{"Level":18,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":19,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":19,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":20,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":20,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":20,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_Samplers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"SamplerParameter","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"unsigned int","Name":"sampler","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"bindPoint","Size":4,"Flag":0},{"Level":11,"Type":"int","Name":"m_ShaderRequirements","Size":4,"Flag":0},{"Level":7,"Type":"bool","Name":"m_HasInstancingVariant","Size":1,"Flag":16384},{"Level":7,"Type":"string","Name":"m_UseName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_TextureName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":8,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":11,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":5,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":1,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_CustomEditorName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_FallbackName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":49152},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedShaderDependency","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"string","Name":"from","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"string","Name":"to","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"bool","Name":"m_DisableNoSubshadersMessage","Size":1,"Flag":16384},{"Level":0,"Type":"vector","Name":"platforms","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"offsets","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"decompressedLengths","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedBlob","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"UInt8","Name":"data","Size":1,"Flag":0},{"Level":0,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"PPtr\u003cShader\u003e","Name":"data","Size":12,"Flag":0},{"Level":3,"Type":"int","Name":"m_FileID","Size":4,"Flag":8388609},{"Level":3,"Type":"SInt64","Name":"m_PathID","Size":8,"Flag":8388609},{"Level":0,"Type":"bool","Name":"m_ShaderIsBaked","Size":1,"Flag":16384}] - - - [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":4,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":4,"Type":"SerializedProperty","Name":"data","Size":-1,"Flag":32768},{"Level":5,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"string","Name":"m_Description","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"vector","Name":"m_Attributes","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"string","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":5,"Type":"unsigned int","Name":"m_Flags","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[0]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[1]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[2]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[3]","Size":4,"Flag":0},{"Level":5,"Type":"SerializedTextureProperty","Name":"m_DefTexture","Size":-1,"Flag":32768},{"Level":6,"Type":"string","Name":"m_DefaultName","Size":-1,"Flag":32768},{"Level":7,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":8,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":8,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":6,"Type":"int","Name":"m_TexDim","Size":4,"Flag":0},{"Level":1,"Type":"vector","Name":"m_SubShaders","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedSubShader","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"vector","Name":"m_Passes","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":6,"Type":"SerializedPass","Name":"data","Size":-1,"Flag":32768},{"Level":7,"Type":"map","Name":"m_NameIndices","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":9,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":10,"Type":"int","Name":"second","Size":4,"Flag":0},{"Level":7,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":7,"Type":"SerializedShaderState","Name":"m_State","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend0","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend1","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend2","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend3","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend4","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend5","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend6","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend7","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"bool","Name":"rtSeparateBlend","Size":1,"Flag":16384},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zTest","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zWrite","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"culling","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetFactor","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetUnits","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"alphaToMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOp","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpFront","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpBack","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilReadMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilWriteMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilRef","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogStart","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogEnd","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogDensity","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderVectorValue","Name":"fogColor","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"x","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"y","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"z","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"w","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"FastPropertyName","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"fogMode","Size":4,"Flag":0},{"Level":8,"Type":"int","Name":"gpuProgramID","Size":4,"Flag":0},{"Level":8,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":9,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":11,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":12,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":12,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":8,"Type":"bool","Name":"lighting","Size":1,"Flag":16384},{"Level":7,"Type":"unsigned int","Name":"m_ProgramMask","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progVertex","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"unsigned int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progFragment","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"unsigned int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progGeometry","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"unsigned int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progHull","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"unsigned int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progDomain","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"unsigned int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"bool","Name":"m_HasInstancingVariant","Size":1,"Flag":16384},{"Level":7,"Type":"string","Name":"m_UseName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_TextureName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":8,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":11,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":5,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":1,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_CustomEditorName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_FallbackName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedShaderDependency","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"string","Name":"from","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"string","Name":"to","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"bool","Name":"m_DisableNoSubshadersMessage","Size":1,"Flag":16384},{"Level":0,"Type":"vector","Name":"platforms","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"offsets","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedLengths","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"decompressedLengths","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedBlob","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"UInt8","Name":"data","Size":1,"Flag":0},{"Level":0,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"PPtr\u003cShader\u003e","Name":"data","Size":12,"Flag":0},{"Level":3,"Type":"int","Name":"m_FileID","Size":4,"Flag":1},{"Level":3,"Type":"SInt64","Name":"m_PathID","Size":8,"Flag":1},{"Level":0,"Type":"bool","Name":"m_ShaderIsBaked","Size":1,"Flag":16384}] - - - [{"Level":0,"Type":"string","Name":"m_Name","Size":-1,"Flag":32769},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":2,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":0,"Type":"SerializedShader","Name":"m_ParsedForm","Size":-1,"Flag":32768},{"Level":1,"Type":"SerializedProperties","Name":"m_PropInfo","Size":-1,"Flag":32768},{"Level":2,"Type":"vector","Name":"m_Props","Size":-1,"Flag":32768},{"Level":3,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":4,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":4,"Type":"SerializedProperty","Name":"data","Size":-1,"Flag":32768},{"Level":5,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"string","Name":"m_Description","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":7,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"vector","Name":"m_Attributes","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"string","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":5,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":5,"Type":"unsigned int","Name":"m_Flags","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[0]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[1]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[2]","Size":4,"Flag":0},{"Level":5,"Type":"float","Name":"m_DefValue[3]","Size":4,"Flag":0},{"Level":5,"Type":"SerializedTextureProperty","Name":"m_DefTexture","Size":-1,"Flag":32768},{"Level":6,"Type":"string","Name":"m_DefaultName","Size":-1,"Flag":32768},{"Level":7,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":8,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":8,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":6,"Type":"int","Name":"m_TexDim","Size":4,"Flag":0},{"Level":1,"Type":"vector","Name":"m_SubShaders","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedSubShader","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"vector","Name":"m_Passes","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":6,"Type":"SerializedPass","Name":"data","Size":-1,"Flag":32768},{"Level":7,"Type":"map","Name":"m_NameIndices","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":9,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":10,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":10,"Type":"int","Name":"second","Size":4,"Flag":0},{"Level":7,"Type":"int","Name":"m_Type","Size":4,"Flag":0},{"Level":7,"Type":"SerializedShaderState","Name":"m_State","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend0","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend1","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend2","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend3","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend4","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend5","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend6","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderRTBlendState","Name":"rtBlend7","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlend","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"srcBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"destBlendAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"blendOpAlpha","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"colMask","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"bool","Name":"rtSeparateBlend","Size":1,"Flag":16384},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zTest","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"zWrite","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"culling","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetFactor","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"offsetUnits","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"alphaToMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOp","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpFront","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedStencilOp","Name":"stencilOpBack","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"pass","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"fail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"zFail","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"comp","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilReadMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilWriteMask","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"stencilRef","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogStart","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogEnd","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderFloatValue","Name":"fogDensity","Size":-1,"Flag":32768},{"Level":9,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"SerializedShaderVectorValue","Name":"fogColor","Size":-1,"Flag":32768},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"x","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"y","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"z","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"SerializedShaderFloatValue","Name":"w","Size":-1,"Flag":32768},{"Level":10,"Type":"float","Name":"val","Size":4,"Flag":0},{"Level":10,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":11,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":12,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":12,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":9,"Type":"string","Name":"name","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":11,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"fogMode","Size":4,"Flag":0},{"Level":8,"Type":"int","Name":"gpuProgramID","Size":4,"Flag":0},{"Level":8,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":9,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":10,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":11,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":11,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":12,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":12,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":14,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":8,"Type":"bool","Name":"lighting","Size":1,"Flag":16384},{"Level":7,"Type":"unsigned int","Name":"m_ProgramMask","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progVertex","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progFragment","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progGeometry","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progHull","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"SerializedProgram","Name":"progDomain","Size":-1,"Flag":32768},{"Level":8,"Type":"vector","Name":"m_SubPrograms","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"SerializedSubProgram","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"unsigned int","Name":"m_BlobIndex","Size":4,"Flag":0},{"Level":11,"Type":"ParserBindChannels","Name":"m_Channels","Size":-1,"Flag":32768},{"Level":12,"Type":"vector","Name":"m_Channels","Size":-1,"Flag":16384},{"Level":13,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":14,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":14,"Type":"ShaderBindChannel","Name":"data","Size":2,"Flag":0},{"Level":15,"Type":"SInt8","Name":"source","Size":1,"Flag":0},{"Level":15,"Type":"SInt8","Name":"target","Size":1,"Flag":0},{"Level":12,"Type":"int","Name":"m_SourceMap","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_KeywordIndices","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UInt16","Name":"data","Size":2,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_ShaderHardwareTier","Size":1,"Flag":0},{"Level":11,"Type":"SInt8","Name":"m_GpuProgramType","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_TextureParams","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"TextureParameter","Name":"data","Size":13,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_SamplerIndex","Size":4,"Flag":0},{"Level":14,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":11,"Type":"vector","Name":"m_BufferParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBuffers","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"ConstantBuffer","Name":"data","Size":-1,"Flag":32768},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"vector","Name":"m_MatrixParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"MatrixParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_RowCount","Size":1,"Flag":16384},{"Level":14,"Type":"vector","Name":"m_VectorParams","Size":-1,"Flag":32768},{"Level":15,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":16,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":16,"Type":"VectorParameter","Name":"data","Size":14,"Flag":32768},{"Level":17,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":17,"Type":"int","Name":"m_ArraySize","Size":4,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Type","Size":1,"Flag":0},{"Level":17,"Type":"SInt8","Name":"m_Dim","Size":1,"Flag":16384},{"Level":14,"Type":"int","Name":"m_Size","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_ConstantBufferBindings","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"BufferBinding","Name":"data","Size":8,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":11,"Type":"vector","Name":"m_UAVParams","Size":-1,"Flag":0},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":13,"Type":"UAVParameter","Name":"data","Size":12,"Flag":0},{"Level":14,"Type":"int","Name":"m_NameIndex","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_Index","Size":4,"Flag":0},{"Level":14,"Type":"int","Name":"m_OriginalIndex","Size":4,"Flag":0},{"Level":7,"Type":"bool","Name":"m_HasInstancingVariant","Size":1,"Flag":16384},{"Level":7,"Type":"string","Name":"m_UseName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"string","Name":"m_TextureName","Size":-1,"Flag":32768},{"Level":8,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":9,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":9,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":7,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":8,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":10,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":11,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":11,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":12,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":13,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":13,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"SerializedTagMap","Name":"m_Tags","Size":-1,"Flag":32768},{"Level":5,"Type":"map","Name":"tags","Size":-1,"Flag":32768},{"Level":6,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":7,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":7,"Type":"pair","Name":"data","Size":-1,"Flag":32768},{"Level":8,"Type":"string","Name":"first","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":8,"Type":"string","Name":"second","Size":-1,"Flag":32768},{"Level":9,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":10,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":10,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"int","Name":"m_LOD","Size":4,"Flag":0},{"Level":1,"Type":"string","Name":"m_Name","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_CustomEditorName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"string","Name":"m_FallbackName","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":3,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":32768},{"Level":2,"Type":"Array","Name":"Array","Size":-1,"Flag":32768},{"Level":3,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":3,"Type":"SerializedShaderDependency","Name":"data","Size":-1,"Flag":32768},{"Level":4,"Type":"string","Name":"from","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":4,"Type":"string","Name":"to","Size":-1,"Flag":32768},{"Level":5,"Type":"Array","Name":"Array","Size":-1,"Flag":16385},{"Level":6,"Type":"int","Name":"size","Size":4,"Flag":1},{"Level":6,"Type":"char","Name":"data","Size":1,"Flag":1},{"Level":1,"Type":"bool","Name":"m_DisableNoSubshadersMessage","Size":1,"Flag":16384},{"Level":0,"Type":"vector","Name":"platforms","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"offsets","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedLengths","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"decompressedLengths","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"unsigned int","Name":"data","Size":4,"Flag":0},{"Level":0,"Type":"vector","Name":"compressedBlob","Size":-1,"Flag":32768},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":16384},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"UInt8","Name":"data","Size":1,"Flag":0},{"Level":0,"Type":"vector","Name":"m_Dependencies","Size":-1,"Flag":0},{"Level":1,"Type":"Array","Name":"Array","Size":-1,"Flag":0},{"Level":2,"Type":"int","Name":"size","Size":4,"Flag":0},{"Level":2,"Type":"PPtr\u003cShader\u003e","Name":"data","Size":12,"Flag":0},{"Level":3,"Type":"int","Name":"m_FileID","Size":4,"Flag":1},{"Level":3,"Type":"SInt64","Name":"m_PathID","Size":8,"Flag":1},{"Level":0,"Type":"bool","Name":"m_ShaderIsBaked","Size":1,"Flag":16384}] - - \ No newline at end of file diff --git a/AssetStudio/StudioClasses/SpriteHelper.cs b/AssetStudio/StudioClasses/SpriteHelper.cs index 4f29340..045e544 100644 --- a/AssetStudio/StudioClasses/SpriteHelper.cs +++ b/AssetStudio/StudioClasses/SpriteHelper.cs @@ -11,9 +11,8 @@ namespace AssetStudio { static class SpriteHelper { - public static Bitmap GetImageFromSprite(AssetPreloadData asset) + public static Bitmap GetImageFromSprite(Sprite m_Sprite) { - var m_Sprite = new Sprite(asset, true); if (assetsfileList.TryGetPD(m_Sprite.m_SpriteAtlas, out var assetPreloadData)) { var m_SpriteAtlas = new SpriteAtlas(assetPreloadData); @@ -21,7 +20,6 @@ namespace AssetStudio if (index >= 0 && assetsfileList.TryGetPD(m_SpriteAtlas.textures[index], out assetPreloadData)) { - SpriteInfo(asset, assetPreloadData, m_SpriteAtlas.textureRects[index]); try { if (m_Sprite.m_PhysicsShape.Length > 0) @@ -40,7 +38,6 @@ namespace AssetStudio { if (assetsfileList.TryGetPD(m_Sprite.texture, out assetPreloadData)) { - SpriteInfo(asset, assetPreloadData, m_Sprite.textureRect); return CutImage(assetPreloadData, m_Sprite.textureRect); } } @@ -48,14 +45,6 @@ namespace AssetStudio return null; } - private static void SpriteInfo(AssetPreloadData asset, AssetPreloadData texture2DAsset, RectangleF textureRect) - { - var info = texture2DAsset.InfoText; - var start = info.IndexOf("Format"); - info = info.Substring(start, info.Length - start); - asset.InfoText = $"Width: {textureRect.Width}\nHeight: {textureRect.Height}\n" + info; - } - private static Bitmap CutImage(AssetPreloadData texture2DAsset, RectangleF textureRect) { var texture2D = new Texture2DConverter(new Texture2D(texture2DAsset, true)); diff --git a/AssetStudio/StudioClasses/Studio.cs b/AssetStudio/StudioClasses/Studio.cs index a5f1b6d..061ef4d 100644 --- a/AssetStudio/StudioClasses/Studio.cs +++ b/AssetStudio/StudioClasses/Studio.cs @@ -25,6 +25,8 @@ namespace AssetStudio public static string productName = ""; public static bool moduleLoaded; public static Dictionary LoadedModuleDic = new Dictionary(); + public static List treeNodeCollection = new List(); + public static Dictionary treeNodeDictionary = new Dictionary(); //UI public static Action SetProgressBarValue; @@ -153,10 +155,8 @@ namespace AssetStudio return extractedCount; } - public static void BuildAssetStructures(bool loadAssets, bool displayAll, bool buildHierarchy, bool buildClassStructures, bool displayOriginalName, out List fileNodes) + public static void BuildAssetStructures(bool loadAssets, bool displayAll, bool buildHierarchy, bool buildClassStructures, bool displayOriginalName) { - fileNodes = null; - #region first loop - read asset data & create list if (loadAssets) { @@ -180,43 +180,52 @@ namespace AssetStudio { case ClassIDReference.GameObject: { - GameObject m_GameObject = new GameObject(asset); + var m_GameObject = new GameObject(asset); + asset.Text = m_GameObject.m_Name; assetsFile.GameObjectList.Add(asset.m_PathID, m_GameObject); break; } case ClassIDReference.Transform: { - Transform m_Transform = new Transform(asset); + var m_Transform = new Transform(asset); assetsFile.TransformList.Add(asset.m_PathID, m_Transform); break; } case ClassIDReference.RectTransform: { - RectTransform m_Rect = new RectTransform(asset); - assetsFile.TransformList.Add(asset.m_PathID, m_Rect.m_Transform); + var m_Rect = new RectTransform(asset); + assetsFile.TransformList.Add(asset.m_PathID, m_Rect); break; } case ClassIDReference.Texture2D: - { - Texture2D m_Texture2D = new Texture2D(asset, false); - exportable = true; - break; - } + case ClassIDReference.Mesh: case ClassIDReference.Shader: - { - Shader m_Shader = new Shader(asset, false); - exportable = true; - break; - } case ClassIDReference.TextAsset: + case ClassIDReference.AnimationClip: + case ClassIDReference.AudioClip: + case ClassIDReference.Font: + case ClassIDReference.MovieTexture: + case ClassIDReference.Sprite: + case ClassIDReference.VideoClip: { - TextAsset m_TextAsset = new TextAsset(asset, false); + var obj = new NamedObject(asset); + asset.Text = obj.m_Name; exportable = true; break; } - case ClassIDReference.AudioClip: + case ClassIDReference.Avatar: + case ClassIDReference.AnimatorController: + case ClassIDReference.AnimatorOverrideController: + case ClassIDReference.Material: + case ClassIDReference.MonoScript: + case ClassIDReference.SpriteAtlas: + { + var obj = new NamedObject(asset); + asset.Text = obj.m_Name; + break; + } + case ClassIDReference.Animator: { - AudioClip m_AudioClip = new AudioClip(asset, false); exportable = true; break; } @@ -235,58 +244,16 @@ namespace AssetStudio exportable = true; break; } - case ClassIDReference.Font: - { - UFont m_Font = new UFont(asset, false); - exportable = true; - break; - } case ClassIDReference.PlayerSettings: { var plSet = new PlayerSettings(asset); productName = plSet.productName; break; } - case ClassIDReference.Mesh: - { - Mesh m_Mesh = new Mesh(asset, false); - exportable = true; - break; - } case ClassIDReference.AssetBundle: { ab = new AssetBundle(asset); - break; - } - case ClassIDReference.VideoClip: - { - var m_VideoClip = new VideoClip(asset, false); - exportable = true; - break; - } - case ClassIDReference.MovieTexture: - { - var m_MovieTexture = new MovieTexture(asset, false); - exportable = true; - break; - } - case ClassIDReference.Sprite: - { - var m_Sprite = new Sprite(asset, false); - exportable = true; - break; - } - case ClassIDReference.Animator: - { - exportable = true; - break; - } - case ClassIDReference.AnimationClip: - { - exportable = true; - var reader = asset.sourceFile.reader; - reader.Position = asset.Offset; - asset.Text = reader.ReadAlignedString(); + asset.Text = ab.m_Name; break; } } @@ -335,7 +302,6 @@ namespace AssetStudio #region second loop - build tree structure if (buildHierarchy) { - fileNodes = new List(); var gameObjectCount = assetsfileList.Sum(x => x.GameObjectList.Values.Count); if (gameObjectCount > 0) { @@ -345,9 +311,8 @@ namespace AssetStudio foreach (var assetsFile in assetsfileList) { - GameObject fileNode = new GameObject(null); - fileNode.Text = Path.GetFileName(assetsFile.filePath); - fileNode.m_Name = "RootNode"; + var fileNode = new GameObjectTreeNode(null); //RootNode + fileNode.Text = assetsFile.fileName; foreach (var m_GameObject in assetsFile.GameObjectList.Values) { @@ -399,7 +364,7 @@ namespace AssetStudio case ClassIDReference.Animator: { m_GameObject.m_Animator = m_Component; - asset.Text = m_GameObject.asset.Text; + asset.Text = m_GameObject.preloadData.Text; break; } } @@ -413,19 +378,29 @@ namespace AssetStudio { if (assetsfileList.TryGetTransform(m_Transform.m_Father, out var m_Father)) { - if (assetsfileList.TryGetGameObject(m_Father.m_GameObject, out parentNode)) + if (assetsfileList.TryGetGameObject(m_Father.m_GameObject, out var parentGameObject)) { + if (!treeNodeDictionary.TryGetValue(parentGameObject, out parentNode)) + { + parentNode = new GameObjectTreeNode(parentGameObject); + treeNodeDictionary.Add(parentGameObject, parentNode); + } } } } - parentNode.Nodes.Add(m_GameObject); + if (!treeNodeDictionary.TryGetValue(m_GameObject, out var currentNode)) + { + currentNode = new GameObjectTreeNode(m_GameObject); + treeNodeDictionary.Add(m_GameObject, currentNode); + } + parentNode.Nodes.Add(currentNode); ProgressBarPerformStep(); } if (fileNode.Nodes.Count > 0) { - fileNodes.Add(fileNode); + treeNodeCollection.Add(fileNode); } } } @@ -608,10 +583,10 @@ namespace AssetStudio { ThreadPool.QueueUserWorkItem(state => { - foreach (TreeNode node in nodes) + foreach (GameObjectTreeNode node in nodes) { //遍历一级子节点 - foreach (TreeNode j in node.Nodes) + foreach (GameObjectTreeNode j in node.Nodes) { ProgressBarPerformStep(); //收集所有子节点 @@ -643,7 +618,7 @@ namespace AssetStudio { try { - ExportGameObject((GameObject)j, targetPath); + ExportGameObject(j.gameObject, targetPath); } catch (Exception ex) { @@ -658,10 +633,10 @@ namespace AssetStudio }); } - private static void CollectNode(TreeNode node, List gameObjects) + private static void CollectNode(GameObjectTreeNode node, List gameObjects) { - gameObjects.Add((GameObject)node); - foreach (TreeNode i in node.Nodes) + gameObjects.Add(node.gameObject); + foreach (GameObjectTreeNode i in node.Nodes) { CollectNode(i, gameObjects); } @@ -698,11 +673,11 @@ namespace AssetStudio SetProgressBarMaximum(gameObjects.Count); foreach (var gameObject in gameObjects) { - StatusStripUpdate($"Exporting {gameObject.Text}"); + StatusStripUpdate($"Exporting {gameObject.m_Name}"); try { ExportGameObject(gameObject, exportPath, animationList); - StatusStripUpdate($"Finished exporting {gameObject.Text}"); + StatusStripUpdate($"Finished exporting {gameObject.m_Name}"); } catch (Exception ex) { @@ -722,11 +697,11 @@ namespace AssetStudio private static void GetSelectedParentNode(TreeNodeCollection nodes, List gameObjects) { - foreach (TreeNode i in nodes) + foreach (GameObjectTreeNode i in nodes) { if (i.Checked) { - gameObjects.Add((GameObject)i); + gameObjects.Add(i.gameObject); } else { diff --git a/AssetStudio/StudioClasses/Texture2DConverter.cs b/AssetStudio/StudioClasses/Texture2DConverter.cs index fb7ec4f..39a82a8 100644 --- a/AssetStudio/StudioClasses/Texture2DConverter.cs +++ b/AssetStudio/StudioClasses/Texture2DConverter.cs @@ -9,7 +9,7 @@ using System.Text; namespace AssetStudio { - class Texture2DConverter + public class Texture2DConverter { //Texture2D private int m_Width; @@ -94,8 +94,8 @@ namespace AssetStudio m_Height = m_Texture2D.m_Height; m_TextureFormat = m_Texture2D.m_TextureFormat; var mMipMap = m_Texture2D.m_MipMap; - version = m_Texture2D.preloadData.sourceFile.version; - var platform = m_Texture2D.preloadData.sourceFile.platform; + version = m_Texture2D.sourceFile.version; + var platform = m_Texture2D.sourceFile.platform; if (version[0] < 5 || (version[0] == 5 && version[1] < 2))//5.2 down {