From ac7979721a8390e2ff6d5e7f95894b9a2d909302 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 3 Dec 2016 05:58:35 +0800 Subject: [PATCH 1/2] [unity] SpineEditorUtilities fixes. --- .../Editor/SpineEditorUtilities.cs | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 261227738..311b5d115 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -1079,7 +1079,7 @@ namespace Spine.Unity.Editor { AssetDatabase.CreateAsset(skeletonDataAsset, filePath); AssetDatabase.SaveAssets(); } else { - skeletonDataAsset.Reset(); + skeletonDataAsset.Clear(); skeletonDataAsset.GetSkeletonData(true); } @@ -1312,16 +1312,16 @@ namespace Spine.Unity.Editor { anim.skeletonDataAsset = skeletonDataAsset; // Detect "Lit" shader and automatically enable calculateNormals. - bool requiresNormals = false; - foreach (AtlasAsset atlasAsset in anim.skeletonDataAsset.atlasAssets) { - foreach (Material m in atlasAsset.materials) { - if (m.shader.name.Contains("Lit")) { - requiresNormals = true; - break; - } - } - } - anim.calculateNormals = requiresNormals; +// bool requiresNormals = false; +// foreach (AtlasAsset atlasAsset in anim.skeletonDataAsset.atlasAssets) { +// foreach (Material m in atlasAsset.materials) { +// if (m.shader.name.Contains("Lit")) { +// requiresNormals = true; +// break; +// } +// } +// } +// anim.calculateNormals = requiresNormals; SkeletonData data = skeletonDataAsset.GetSkeletonData(true); if (data == null) { @@ -1352,8 +1352,9 @@ namespace Spine.Unity.Editor { static void EnableTK2D () { bool added = false; - foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { - if (group == BuildTargetGroup.Unknown) + foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { + int gi = (int)group; + if (gi == 15 || gi == 16 || group == BuildTargetGroup.Unknown) continue; string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); @@ -1379,6 +1380,10 @@ namespace Spine.Unity.Editor { static void DisableTK2D () { bool removed = false; foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { + int gi = (int)group; + if (gi == 15 || gi == 16 || group == BuildTargetGroup.Unknown) + continue; + string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); if (defines.Contains(SPINE_TK2D_DEFINE)) { removed = true; From 27bd17f0678a24af5e98ca4ddf8fda5afe57bae2 Mon Sep 17 00:00:00 2001 From: badlogic Date: Mon, 5 Dec 2016 18:24:20 +0100 Subject: [PATCH 2/2] [c] IK bend direction had a sign conversion issue in SkeletonBinary when using -funsigned-char. Closes #794. --- spine-c/spine-c/src/spine/SkeletonBinary.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-c/spine-c/src/spine/SkeletonBinary.c b/spine-c/spine-c/src/spine/SkeletonBinary.c index 7c7543755..be2dc71c4 100644 --- a/spine-c/spine-c/src/spine/SkeletonBinary.c +++ b/spine-c/spine-c/src/spine/SkeletonBinary.c @@ -36,7 +36,7 @@ #include "kvec.h" typedef struct { - const unsigned char* cursor; + const unsigned char* cursor; const unsigned char* end; } _dataInput; @@ -373,7 +373,7 @@ static spAnimation* _spSkeletonBinary_readAnimation (spSkeletonBinary* self, con for (frameIndex = 0; frameIndex < frameCount; ++frameIndex) { float time = readFloat(input); float mix = readFloat(input); - char bendDirection = readSByte(input); + signed char bendDirection = readSByte(input); spIkConstraintTimeline_setFrame(timeline, frameIndex, time, mix, bendDirection); if (frameIndex < frameCount - 1) readCurve(input, SUPER(timeline), frameIndex); }