diff --git a/AssetStudio/Classes/AnimationClip.cs b/AssetStudio/Classes/AnimationClip.cs index 2cf6685..6eb4631 100644 --- a/AssetStudio/Classes/AnimationClip.cs +++ b/AssetStudio/Classes/AnimationClip.cs @@ -1459,7 +1459,7 @@ public class ClipMuscleConstant : IYAMLExportable public bool m_KeepOriginalPositionY; public bool m_KeepOriginalPositionXZ; public bool m_HeightFromFeet; - public static bool HasShortIndexArray(SerializedType type) => type.Match("E708B1872AE48FD688AC012DF4A7A178") || type.Match("055AA41C7639327940F8900103A10356"); + public static bool HasShortIndexArray(SerializedType type) => type.Match("E708B1872AE48FD688AC012DF4A7A178") || type.Match("055AA41C7639327940F8900103A10356") || type.Match("82E1E738FBDE87C5A8DAE868F0578A4D"); public ClipMuscleConstant() { } public ClipMuscleConstant(ObjectReader reader) diff --git a/AssetStudio/Classes/Renderer.cs b/AssetStudio/Classes/Renderer.cs index 163ed25..33aebd7 100644 --- a/AssetStudio/Classes/Renderer.cs +++ b/AssetStudio/Classes/Renderer.cs @@ -25,6 +25,7 @@ public abstract class Renderer : Component private bool isNewHeader = false; public static bool HasPrope(SerializedType type) => type.Match("F622BC5EE0E86D7BDF8C912DD94DCBF5") || type.Match("9255FA54269ADD294011FDA525B5FCAC"); + public static bool HasStreamingMipmapBias(SerializedType type) => type.Match("3086DE02B7269C6DE7E840C57C244649"); protected Renderer(ObjectReader reader) : base(reader) { @@ -237,6 +238,10 @@ protected Renderer(ObjectReader reader) : base(reader) if (reader.Game.Type.IsSR()) { var RenderFlag = reader.ReadUInt32(); + if (HasStreamingMipmapBias(reader.serializedType)) + { + var m_StreamingMipmapBias = reader.ReadSingle(); + } reader.AlignStream(); } }