[GI] fix parsing issue with Texture2D.
This commit is contained in:
@@ -63,6 +63,7 @@ namespace AssetStudio
|
|||||||
public ResourceReader image_data;
|
public ResourceReader image_data;
|
||||||
public StreamingInfo m_StreamData;
|
public StreamingInfo m_StreamData;
|
||||||
|
|
||||||
|
private static bool HasGNFTexture(ObjectReader reader) => reader.serializedType.Match("1D52BB98AA5F54C67C22C39E8B2E400F");
|
||||||
public Texture2D(ObjectReader reader) : base(reader)
|
public Texture2D(ObjectReader reader) : base(reader)
|
||||||
{
|
{
|
||||||
m_Width = reader.ReadInt32();
|
m_Width = reader.ReadInt32();
|
||||||
@@ -84,6 +85,10 @@ namespace AssetStudio
|
|||||||
if (version[0] > 2 || (version[0] == 2 && version[1] >= 6)) //2.6.0 and up
|
if (version[0] > 2 || (version[0] == 2 && version[1] >= 6)) //2.6.0 and up
|
||||||
{
|
{
|
||||||
var m_IsReadable = reader.ReadBoolean();
|
var m_IsReadable = reader.ReadBoolean();
|
||||||
|
if (reader.Game.Type.IsGI() && HasGNFTexture(reader))
|
||||||
|
{
|
||||||
|
var m_IsGNFTexture = reader.ReadBoolean();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (version[0] >= 2020) //2020.1 and up
|
if (version[0] >= 2020) //2020.1 and up
|
||||||
{
|
{
|
||||||
@@ -100,11 +105,15 @@ namespace AssetStudio
|
|||||||
var m_ReadAllowed = reader.ReadBoolean();
|
var m_ReadAllowed = reader.ReadBoolean();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (version[0] > 2018 || (version[0] == 2018 && version[1] >= 2)) //2018.2 and up
|
if (version[0] > 2018 || (version[0] == 2018 && version[1] >= 2) || reader.Game.Type.IsGI()) //2018.2 and up
|
||||||
{
|
{
|
||||||
var m_StreamingMipmaps = reader.ReadBoolean();
|
var m_StreamingMipmaps = reader.ReadBoolean();
|
||||||
}
|
}
|
||||||
reader.AlignStream();
|
reader.AlignStream();
|
||||||
|
if (reader.Game.Type.IsGI() && HasGNFTexture(reader))
|
||||||
|
{
|
||||||
|
var m_TextureGroup = reader.ReadInt32();
|
||||||
|
}
|
||||||
if (version[0] > 2018 || (version[0] == 2018 && version[1] >= 2)) //2018.2 and up
|
if (version[0] > 2018 || (version[0] == 2018 && version[1] >= 2)) //2018.2 and up
|
||||||
{
|
{
|
||||||
var m_StreamingMipmapsPriority = reader.ReadInt32();
|
var m_StreamingMipmapsPriority = reader.ReadInt32();
|
||||||
@@ -128,6 +137,10 @@ namespace AssetStudio
|
|||||||
var image_data_size = reader.ReadInt32();
|
var image_data_size = reader.ReadInt32();
|
||||||
if (image_data_size == 0 && ((version[0] == 5 && version[1] >= 3) || version[0] > 5))//5.3.0 and up
|
if (image_data_size == 0 && ((version[0] == 5 && version[1] >= 3) || version[0] > 5))//5.3.0 and up
|
||||||
{
|
{
|
||||||
|
if (reader.Game.Type.IsGI() && HasGNFTexture(reader))
|
||||||
|
{
|
||||||
|
var m_externalMipRelativeOffset = reader.ReadUInt32();
|
||||||
|
}
|
||||||
m_StreamData = new StreamingInfo(reader);
|
m_StreamData = new StreamingInfo(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user