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
{