Fixed bug

This commit is contained in:
Perfare 2018-10-25 15:02:57 +08:00
parent 22b2d472bc
commit 3cd6126ed9
5 changed files with 35 additions and 76 deletions

View File

@ -836,7 +836,7 @@ namespace AssetStudio
case ClassIDType.MonoBehaviour: case ClassIDType.MonoBehaviour:
{ {
var m_MonoBehaviour = new MonoBehaviour(asset); var m_MonoBehaviour = new MonoBehaviour(asset);
if (asset.serializedType.m_Nodes != null) if (asset.serializedType?.m_Nodes != null)
{ {
textPreviewBox.Text = asset.Dump(); textPreviewBox.Text = asset.Dump();
} }

View File

@ -11,34 +11,17 @@ namespace AssetStudio
public BuildSettings(AssetPreloadData preloadData) : base(preloadData) public BuildSettings(AssetPreloadData preloadData) : base(preloadData)
{ {
int levels = reader.ReadInt32(); int levelsNum = reader.ReadInt32();
for (int l = 0; l < levels; l++) for (int i = 0; i < levelsNum; i++)
{ {
var level = reader.ReadAlignedString(); var level = reader.ReadAlignedString();
} }
if (version[0] >= 5) var hasRenderTexture = reader.ReadBoolean();
{ var hasPROVersion = reader.ReadBoolean();
int preloadedPlugins = reader.ReadInt32(); var hasPublishingRights = reader.ReadBoolean();
for (int l = 0; l < preloadedPlugins; l++) var hasShadows = reader.ReadBoolean();
{
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(); m_Version = reader.ReadAlignedString();
} }
} }

View File

@ -12,62 +12,38 @@ namespace AssetStudio
public PlayerSettings(AssetPreloadData preloadData) : base(preloadData) public PlayerSettings(AssetPreloadData preloadData) : base(preloadData)
{ {
if ((version[0] == 5 && version[1] >= 4) || version[0] > 5)//5.4.0 nad up if (version[0] > 5 || (version[0] == 5 && version[1] >= 4)) //5.4.0 nad up
{ {
//productGUID var productGUID = reader.ReadBytes(16);
reader.ReadInt32();
reader.ReadInt32();
reader.ReadInt32();
reader.ReadInt32();
} }
if (version[0] >= 3)
var AndroidProfiler = reader.ReadBoolean();
//bool AndroidFilterTouchesWhenObscured 2017.2 and up
//bool AndroidEnableSustainedPerformanceMode 2018 and up
reader.AlignStream(4);
int defaultScreenOrientation = reader.ReadInt32();
int targetDevice = reader.ReadInt32();
if (version[0] < 5 || (version[0] == 5 && version[1] < 3)) //5.3 down
{ {
if (version[0] == 3 && version[1] < 2) if (version[0] < 5) //5.0 down
{ {
string AndroidLicensePublicKey = reader.ReadAlignedString(); int targetPlatform = reader.ReadInt32(); //4.0 and up targetGlesGraphics
} if (version[0] > 4 || (version[0] == 4 && version[1] >= 6)) //4.6 and up
else {
{ var targetIOSGraphics = reader.ReadInt32();
bool AndroidProfiler = reader.ReadBoolean(); reader.AlignStream(4); }
}
int defaultScreenOrientation = reader.ReadInt32();
int targetDevice = reader.ReadInt32();
if (version[0] < 5 || (version[0] == 5 && version[1] < 1))
{
int targetGlesGraphics = reader.ReadInt32();
}
if ((version[0] == 5 && version[1] < 1) || (version[0] == 4 && version[1] == 6 && version[2] >= 3))
{
int targetIOSGraphics = reader.ReadInt32();
}
if (version[0] >= 5 || version[0] == 5 && (version[1] > 2 || (version[1] == 2 && version[2] >= 1)))
{
bool useOnDemandResources = reader.ReadBoolean(); reader.AlignStream(4);
}
if (version[0] < 5 || (version[0] == 5 && version[1] < 3))
{
int targetResolution = reader.ReadInt32();
}
if (version[0] == 3 && version[1] <= 1)
{
bool OverrideIPodMusic = reader.ReadBoolean(); reader.AlignStream(4);
}
else if (version[0] == 3 && version[1] <= 4)
{
}
else//3.5.0 and up
{
int accelerometerFrequency = reader.ReadInt32();
} }
int targetResolution = reader.ReadInt32();
}
else
{
var useOnDemandResources = reader.ReadBoolean();
reader.AlignStream(4);
}
if (version[0] > 3 || (version[0] == 3 && version[1] >= 5)) //3.5 and up
{
var accelerometerFrequency = reader.ReadInt32();
} }
//fail in version 5 beta
companyName = reader.ReadAlignedString(); companyName = reader.ReadAlignedString();
productName = reader.ReadAlignedString(); productName = reader.ReadAlignedString();
} }

View File

@ -50,7 +50,7 @@ namespace AssetStudio
public string Dump() public string Dump()
{ {
var reader = InitReader(); var reader = InitReader();
if (serializedType.m_Nodes != null) if (serializedType?.m_Nodes != null)
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
TypeTreeHelper.ReadTypeString(sb, serializedType.m_Nodes, reader); TypeTreeHelper.ReadTypeString(sb, serializedType.m_Nodes, reader);

View File

@ -107,7 +107,7 @@ namespace AssetStudio
return false; return false;
var m_MonoBehaviour = new MonoBehaviour(asset); var m_MonoBehaviour = new MonoBehaviour(asset);
string str; string str;
if (asset.serializedType.m_Nodes != null) if (asset.serializedType?.m_Nodes != null)
{ {
str = asset.Dump(); str = asset.Dump();
} }