Support 2021.1

This commit is contained in:
Perfare 2021-04-11 23:49:44 +08:00
parent b52696c965
commit f1f2430f97
6 changed files with 68 additions and 5 deletions

View File

@ -7,7 +7,7 @@ namespace AssetStudio
{ {
public enum BuildTarget public enum BuildTarget
{ {
UnknownPlatform = 3716, NoTarget = -2,
DashboardWidget = 1, DashboardWidget = 1,
StandaloneOSX = 2, StandaloneOSX = 2,
StandaloneOSXPPC = 3, StandaloneOSXPPC = 3,
@ -42,6 +42,12 @@ namespace AssetStudio
WiiU, WiiU,
tvOS, tvOS,
Switch, Switch,
NoTarget = -2 Lumin,
Stadia,
CloudRendering,
GameCoreXboxSeries,
GameCoreXboxOne,
PS5,
UnknownPlatform = 9999
} }
} }

View File

@ -19,11 +19,14 @@ namespace AssetStudio
public class UnityPropertySheet public class UnityPropertySheet
{ {
public KeyValuePair<string, UnityTexEnv>[] m_TexEnvs; public KeyValuePair<string, UnityTexEnv>[] m_TexEnvs;
public KeyValuePair<string, int>[] m_Ints;
public KeyValuePair<string, float>[] m_Floats; public KeyValuePair<string, float>[] m_Floats;
public KeyValuePair<string, Color>[] m_Colors; public KeyValuePair<string, Color>[] m_Colors;
public UnityPropertySheet(ObjectReader reader) public UnityPropertySheet(ObjectReader reader)
{ {
var version = reader.version;
int m_TexEnvsSize = reader.ReadInt32(); int m_TexEnvsSize = reader.ReadInt32();
m_TexEnvs = new KeyValuePair<string, UnityTexEnv>[m_TexEnvsSize]; m_TexEnvs = new KeyValuePair<string, UnityTexEnv>[m_TexEnvsSize];
for (int i = 0; i < m_TexEnvsSize; i++) for (int i = 0; i < m_TexEnvsSize; i++)
@ -31,6 +34,16 @@ namespace AssetStudio
m_TexEnvs[i] = new KeyValuePair<string, UnityTexEnv>(reader.ReadAlignedString(), new UnityTexEnv(reader)); m_TexEnvs[i] = new KeyValuePair<string, UnityTexEnv>(reader.ReadAlignedString(), new UnityTexEnv(reader));
} }
if (version[0] >= 2021) //2021.1 and up
{
int m_IntsSize = reader.ReadInt32();
m_Ints = new KeyValuePair<string, int>[m_IntsSize];
for (int i = 0; i < m_IntsSize; i++)
{
m_Ints[i] = new KeyValuePair<string, int>(reader.ReadAlignedString(), reader.ReadInt32());
}
}
int m_FloatsSize = reader.ReadInt32(); int m_FloatsSize = reader.ReadInt32();
m_Floats = new KeyValuePair<string, float>[m_FloatsSize]; m_Floats = new KeyValuePair<string, float>[m_FloatsSize];
for (int i = 0; i < m_FloatsSize; i++) for (int i = 0; i < m_FloatsSize; i++)

View File

@ -43,6 +43,10 @@ namespace AssetStudio
{ {
var m_DynamicOccludee = reader.ReadByte(); var m_DynamicOccludee = reader.ReadByte();
} }
if (version[0] >= 2021) //2021.1 and up
{
var m_StaticShadowCaster = reader.ReadByte();
}
var m_MotionVectors = reader.ReadByte(); var m_MotionVectors = reader.ReadByte();
var m_LightProbeUsage = reader.ReadByte(); var m_LightProbeUsage = reader.ReadByte();
var m_ReflectionProbeUsage = reader.ReadByte(); var m_ReflectionProbeUsage = reader.ReadByte();

View File

@ -580,7 +580,14 @@ namespace AssetStudio
} }
if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 2)) //2017.2 and up if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 2)) //2017.2 and up
{ {
var m_ShaderRequirements = reader.ReadInt32(); if (version[0] >= 2021) //2021.1 and up
{
var m_ShaderRequirements = reader.ReadInt64();
}
else
{
var m_ShaderRequirements = reader.ReadInt32();
}
} }
} }
} }
@ -729,6 +736,18 @@ namespace AssetStudio
} }
} }
public class SerializedCustomEditorForRenderPipeline
{
public string customEditorName;
public string renderPipelineType;
public SerializedCustomEditorForRenderPipeline(BinaryReader reader)
{
customEditorName = reader.ReadAlignedString();
renderPipelineType = reader.ReadAlignedString();
}
}
public class SerializedShader public class SerializedShader
{ {
public SerializedProperties m_PropInfo; public SerializedProperties m_PropInfo;
@ -737,10 +756,13 @@ namespace AssetStudio
public string m_CustomEditorName; public string m_CustomEditorName;
public string m_FallbackName; public string m_FallbackName;
public SerializedShaderDependency[] m_Dependencies; public SerializedShaderDependency[] m_Dependencies;
public SerializedCustomEditorForRenderPipeline[] m_CustomEditorForRenderPipelines;
public bool m_DisableNoSubshadersMessage; public bool m_DisableNoSubshadersMessage;
public SerializedShader(ObjectReader reader) public SerializedShader(ObjectReader reader)
{ {
var version = reader.version;
m_PropInfo = new SerializedProperties(reader); m_PropInfo = new SerializedProperties(reader);
int numSubShaders = reader.ReadInt32(); int numSubShaders = reader.ReadInt32();
@ -761,6 +783,16 @@ namespace AssetStudio
m_Dependencies[i] = new SerializedShaderDependency(reader); m_Dependencies[i] = new SerializedShaderDependency(reader);
} }
if (version[0] >= 2021) //2021.1 and up
{
int m_CustomEditorForRenderPipelinesSize = reader.ReadInt32();
m_CustomEditorForRenderPipelines = new SerializedCustomEditorForRenderPipeline[m_CustomEditorForRenderPipelinesSize];
for (int i = 0; i < m_CustomEditorForRenderPipelinesSize; i++)
{
m_CustomEditorForRenderPipelines[i] = new SerializedCustomEditorForRenderPipeline(reader);
}
}
m_DisableNoSubshadersMessage = reader.ReadBoolean(); m_DisableNoSubshadersMessage = reader.ReadBoolean();
reader.AlignStream(); reader.AlignStream();
} }
@ -789,7 +821,11 @@ namespace AssetStudio
kShaderCompPlatformWiiU = 17, kShaderCompPlatformWiiU = 17,
kShaderCompPlatformVulkan = 18, kShaderCompPlatformVulkan = 18,
kShaderCompPlatformSwitch = 19, kShaderCompPlatformSwitch = 19,
kShaderCompPlatformXboxOneD3D12 = 20 kShaderCompPlatformXboxOneD3D12 = 20,
kShaderCompPlatformGameCoreXboxOne = 21,
kShaderCompPlatformGameCoreScarlett = 22,
kShaderCompPlatformPS5 = 23,
kShaderCompPlatformPS5NGGC = 24,
}; };
public class Shader : NamedObject public class Shader : NamedObject

View File

@ -209,5 +209,8 @@ namespace AssetStudio
ASTC_HDR_8x8, ASTC_HDR_8x8,
ASTC_HDR_10x10, ASTC_HDR_10x10,
ASTC_HDR_12x12, ASTC_HDR_12x12,
RG32,
RGB48,
RGBA64
} }
} }

View File

@ -113,7 +113,8 @@ namespace AssetStudio
{1093, "m_CorrespondingSourceObject"}, {1093, "m_CorrespondingSourceObject"},
{1121, "m_PrefabInstance"}, {1121, "m_PrefabInstance"},
{1138, "m_PrefabAsset"}, {1138, "m_PrefabAsset"},
{1152, "FileSize"} {1152, "FileSize"},
{1161, "Hash128"}
}; };
} }
} }