diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 0a40860..f11e092 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -728,6 +728,9 @@ namespace AssetStudio case ClassIDType.PlayerSettings: obj = new PlayerSettings(objectReader); break; + case ClassIDType.BuildProfilePlayerSettings: //from 6000.7 + obj = new BuildProfilePlayerSettings(objectReader); + break; case ClassIDType.PreloadData when objectReader.version >= (2, 5): obj = new PreloadData(objectReader); break; diff --git a/AssetStudio/ClassIDType.cs b/AssetStudio/ClassIDType.cs index 97af909..6d550a8 100644 --- a/AssetStudio/ClassIDType.cs +++ b/AssetStudio/ClassIDType.cs @@ -332,6 +332,7 @@ namespace AssetStudio BuildInstructionImporter = 403037117, EditorProjectAccess = 426301858, PrefabImporter = 468431735, + WebGPUDeviceFilterLists = 475525288, TestObjectWithSerializedArray = 478637458, TestObjectWithSerializedAnimationCurve = 478637459, TilemapRenderer = 483693784, @@ -370,6 +371,7 @@ namespace AssetStudio PropertyModificationsTargetTestObject = 1111377672, ReferencesArtifactGenerator = 1114811875, RenderAs2D = 1120581460, + BuildProfilePlayerSettings = 1138963649, BlockShaderSourceArtifact = 1149764431, AssemblyDefinitionAsset = 1152215463, SceneVisibilityState = 1154873562, diff --git a/AssetStudio/Classes/BuildProfilePlayerSettings.cs b/AssetStudio/Classes/BuildProfilePlayerSettings.cs new file mode 100644 index 0000000..616b046 --- /dev/null +++ b/AssetStudio/Classes/BuildProfilePlayerSettings.cs @@ -0,0 +1,24 @@ +namespace AssetStudio +{ + public sealed class BuildProfilePlayerSettings : NamedObject + { + public string companyName; + public string productName; + + public BuildProfilePlayerSettings(ObjectReader reader) : base(reader) + { + var productGUID = reader.Position += 16; + var AndroidProfiler = reader.ReadBoolean(); + var AndroidFilterTouchesWhenObscured = reader.ReadBoolean(); + var AndroidEnableSustainedPerformanceMode = reader.ReadBoolean(); + reader.AlignStream(); + var defaultScreenOrientation = reader.ReadInt32(); + var targetDevice = reader.ReadInt32(); + var useOnDemandResources = reader.ReadBoolean(); + reader.AlignStream(); + var accelerometerFrequency = reader.ReadInt32(); + companyName = reader.ReadAlignedString(); + productName = reader.ReadAlignedString(); + } + } +} diff --git a/AssetStudio/Classes/Mesh.cs b/AssetStudio/Classes/Mesh.cs index cc64aee..8aaeb6d 100644 --- a/AssetStudio/Classes/Mesh.cs +++ b/AssetStudio/Classes/Mesh.cs @@ -769,7 +769,7 @@ namespace AssetStudio } } - if (version >= (2, 5)) //2.5 and up + if (version.IsInRange((2, 5), (6000, 6))) //2.5 - 6000.6 down { int m_MeshUsageFlags = reader.ReadInt32(); } @@ -779,6 +779,13 @@ namespace AssetStudio int m_CookingOptions = reader.ReadInt32(); } + if (version >= (6000, 6)) //6000.6 and up + { + var m_PreBakeConvexCollisionMesh = reader.ReadBoolean(); + var m_PreBakeTriangleCollisionMesh = reader.ReadBoolean(); + reader.AlignStream(); + } + if (version >= 5) //5.0 and up { var m_BakedConvexCollisionMeshSize = reader.ReadInt32(); diff --git a/AssetStudio/CommonString.cs b/AssetStudio/CommonString.cs index 3dd49fb..cb3ce21 100644 --- a/AssetStudio/CommonString.cs +++ b/AssetStudio/CommonString.cs @@ -119,6 +119,7 @@ namespace AssetStudio {1188, "fixed_array"}, {1200, "EntityId"}, {1209, "LoadableObjectId"}, + {1226, "LoadableSceneId"}, }; } } diff --git a/AssetStudioGUI/Studio.cs b/AssetStudioGUI/Studio.cs index cac86f9..494ad30 100644 --- a/AssetStudioGUI/Studio.cs +++ b/AssetStudioGUI/Studio.cs @@ -326,6 +326,10 @@ namespace AssetStudioGUI case PlayerSettings m_PlayerSettings: productName = m_PlayerSettings.productName; break; + case BuildProfilePlayerSettings m_BuildProfilePlayerSettings: + assetItem.Text = m_BuildProfilePlayerSettings.m_Name; + productName = string.IsNullOrEmpty(m_BuildProfilePlayerSettings.productName) ? productName : m_BuildProfilePlayerSettings.productName; + break; case AssetBundle m_AssetBundle: var isStreamedSceneAssetBundle = m_AssetBundle.m_IsStreamedSceneAssetBundle; if (!isStreamedSceneAssetBundle)