diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs index 4eaf95062..97b18e9d5 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs @@ -170,21 +170,13 @@ namespace Spine.Unity { string fileText = file.text; const int maxCharsToCheck = 256; int numCharsToCheck = Math.Min(fileText.Length, maxCharsToCheck); - if (fileText.IndexOf("\"skeleton\"", 0, numCharsToCheck) != -1 || - fileText.IndexOf("\"hash\"", 0, numCharsToCheck) != -1 || - fileText.IndexOf("\"spine\"", 0, numCharsToCheck) != -1) - return true; - - int jsonCharCount = 0; - const string jsonChars = "{}:\","; for (int i = 0; i < numCharsToCheck; ++i) { char c = fileText[i]; - if (jsonChars.IndexOf(c) != -1 || char.IsWhiteSpace(c)) - ++jsonCharCount; + if (char.IsWhiteSpace(c)) + continue; + return c == '{'; } - if (jsonCharCount > numCharsToCheck / 10) - return true; - return false; + return true; } public static CompatibilityProblemInfo GetCompatibilityProblemInfo (VersionInfo fileVersion) { diff --git a/spine-xna/example-content/SpineEffectNormalmap.fx b/spine-xna/example-content/SpineEffectNormalmap.fx index ff86b8bcb..365ef76ee 100644 --- a/spine-xna/example-content/SpineEffectNormalmap.fx +++ b/spine-xna/example-content/SpineEffectNormalmap.fx @@ -47,6 +47,7 @@ void GetLightContributionBlinnPhong(inout float3 diffuseResult, inout float3 spe diffuseResult += lightDiffuse * max(0.0, dot(normal, -lightDirection)); half3 halfVector = normalize(-lightDirection + viewDirection); float nDotH = max(0, dot(normal, halfVector)); + specularExponent = max(0.00001, specularExponent); // prevent fx compiler error at pow() below specularResult += lightSpecular * pow(nDotH, specularExponent); }