From d00be040e2fe0e5f88a700e93ba3b5eb2516f7fe Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 5 May 2022 17:34:21 +0200 Subject: [PATCH 01/16] [unity] Fixed null reference exception upon import when default shader is used but preferences has default shader set to a non-existing/null shader path. --- .../Editor/Utility/AssetUtility.cs | 19 ++++++++++--------- .../Editor/Windows/SpinePreferences.cs | 4 ++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs index a1836306f..acd8eaa67 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs @@ -575,22 +575,23 @@ namespace Spine.Unity.Editor { pageName = "Material"; string materialPath = assetPath + "/" + primaryName + "_" + pageName + ".mat"; - Material mat = (Material)AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)); + Material material = (Material)AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)); - if (mat == null) { - mat = new Material(Shader.Find(SpineEditorUtilities.Preferences.defaultShader)); - ApplyPMAOrStraightAlphaSettings(mat, SpineEditorUtilities.Preferences.textureSettingsReference); - AssetDatabase.CreateAsset(mat, materialPath); + if (material == null) { + Shader defaultShader = Shader.Find(SpineEditorUtilities.Preferences.DefaultShader); + material = defaultShader != null ? new Material(defaultShader) : null; + ApplyPMAOrStraightAlphaSettings(material, SpineEditorUtilities.Preferences.textureSettingsReference); + AssetDatabase.CreateAsset(material, materialPath); } else { - vestigialMaterials.Remove(mat); + vestigialMaterials.Remove(material); } if (texture != null) - mat.mainTexture = texture; + material.mainTexture = texture; - EditorUtility.SetDirty(mat); + EditorUtility.SetDirty(material); // note: don't call AssetDatabase.SaveAssets() since this would trigger OnPostprocessAllAssets() every time unnecessarily. - populatingMaterials.Add(mat); //atlasAsset.materials[i] = mat; + populatingMaterials.Add(material); //atlasAsset.materials[i] = mat; } atlasAsset.materials = populatingMaterials.ToArray(); diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SpinePreferences.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SpinePreferences.cs index ccb55cbce..9fcfc4432 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SpinePreferences.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SpinePreferences.cs @@ -66,6 +66,10 @@ namespace Spine.Unity.Editor { internal const string DEFAULT_DEFAULT_SHADER = "Spine/Skeleton"; public string defaultShader = DEFAULT_DEFAULT_SHADER; + public string DefaultShader { + get { return !string.IsNullOrEmpty(defaultShader) ? defaultShader : DEFAULT_DEFAULT_SHADER; } + set { defaultShader = value; } + } internal const float DEFAULT_DEFAULT_ZSPACING = 0f; public float defaultZSpacing = DEFAULT_DEFAULT_ZSPACING; From f63dd6027e0090f4fb3678e2a793b937ec020c13 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 5 May 2022 17:51:19 +0200 Subject: [PATCH 02/16] [unity] Fixes compile error on code branch for old Unity versions < 2018.3 of (added by previous commit). --- .../spine-unity/Editor/Utility/Preferences.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs index f17603cf2..4f2548aa9 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs @@ -56,16 +56,12 @@ namespace Spine.Unity.Editor { public partial class SpineEditorUtilities { #if NEW_PREFERENCES_SETTINGS_PROVIDER - static class SpineSettingsProviderRegistration - { + static class SpineSettingsProviderRegistration { [SettingsProvider] - public static SettingsProvider CreateSpineSettingsProvider() - { - var provider = new SettingsProvider("Spine", SettingsScope.User) - { + public static SettingsProvider CreateSpineSettingsProvider () { + var provider = new SettingsProvider("Spine", SettingsScope.User) { label = "Spine", - guiHandler = (searchContext) => - { + guiHandler = (searchContext) => { var settings = SpinePreferences.GetOrCreateSettings(); var serializedSettings = new SerializedObject(settings); SpinePreferences.HandlePreferencesGUI(serializedSettings); @@ -108,6 +104,10 @@ namespace Spine.Unity.Editor { const string DEFAULT_SHADER_KEY = "SPINE_DEFAULT_SHADER"; public static string defaultShader = SpinePreferences.DEFAULT_DEFAULT_SHADER; + public string DefaultShader { + get { return !string.IsNullOrEmpty(defaultShader) ? defaultShader : DEFAULT_DEFAULT_SHADER; } + set { defaultShader = value; } + } const string DEFAULT_ZSPACING_KEY = "SPINE_DEFAULT_ZSPACING"; public static float defaultZSpacing = SpinePreferences.DEFAULT_DEFAULT_ZSPACING; @@ -201,7 +201,7 @@ namespace Spine.Unity.Editor { } #if NEW_PREFERENCES_SETTINGS_PROVIDER - public static void CopyOldToNewPreferences(ref SpinePreferences newPreferences) { + public static void CopyOldToNewPreferences (ref SpinePreferences newPreferences) { newPreferences.defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, SpinePreferences.DEFAULT_DEFAULT_MIX); newPreferences.defaultScale = EditorPrefs.GetFloat(DEFAULT_SCALE_KEY, SpinePreferences.DEFAULT_DEFAULT_SCALE); newPreferences.defaultZSpacing = EditorPrefs.GetFloat(DEFAULT_ZSPACING_KEY, SpinePreferences.DEFAULT_DEFAULT_ZSPACING); @@ -218,7 +218,7 @@ namespace Spine.Unity.Editor { newPreferences.handleScale = EditorPrefs.GetFloat(SCENE_ICONS_SCALE_KEY, SpinePreferences.DEFAULT_SCENE_ICONS_SCALE); } - public static void SaveToEditorPrefs(SpinePreferences preferences) { + public static void SaveToEditorPrefs (SpinePreferences preferences) { EditorPrefs.SetFloat(DEFAULT_MIX_KEY, preferences.defaultMix); EditorPrefs.SetFloat(DEFAULT_SCALE_KEY, preferences.defaultScale); EditorPrefs.SetFloat(DEFAULT_ZSPACING_KEY, preferences.defaultZSpacing); From 3ad01929125124f06e897398157fac8f21a7e844 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 5 May 2022 18:04:47 +0200 Subject: [PATCH 03/16] [unity] Quick fix of last commit was incorrect, sorry, fixed for real now. --- .../Spine/Editor/spine-unity/Editor/Utility/Preferences.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs index 4f2548aa9..ce232ed51 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Preferences.cs @@ -104,8 +104,8 @@ namespace Spine.Unity.Editor { const string DEFAULT_SHADER_KEY = "SPINE_DEFAULT_SHADER"; public static string defaultShader = SpinePreferences.DEFAULT_DEFAULT_SHADER; - public string DefaultShader { - get { return !string.IsNullOrEmpty(defaultShader) ? defaultShader : DEFAULT_DEFAULT_SHADER; } + public static string DefaultShader { + get { return !string.IsNullOrEmpty(defaultShader) ? defaultShader : SpinePreferences.DEFAULT_DEFAULT_SHADER; } set { defaultShader = value; } } From 362a9fcd209d26f27da5bb1128f0919661ce8814 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 5 May 2022 18:23:21 +0200 Subject: [PATCH 04/16] [unity] Added additional null checks (unlikely to trigger, but added for sake of correctness). --- .../Editor/Utility/AssetUtility.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs index acd8eaa67..d1ae05371 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs @@ -580,18 +580,23 @@ namespace Spine.Unity.Editor { if (material == null) { Shader defaultShader = Shader.Find(SpineEditorUtilities.Preferences.DefaultShader); material = defaultShader != null ? new Material(defaultShader) : null; - ApplyPMAOrStraightAlphaSettings(material, SpineEditorUtilities.Preferences.textureSettingsReference); - AssetDatabase.CreateAsset(material, materialPath); + if (material) { + ApplyPMAOrStraightAlphaSettings(material, SpineEditorUtilities.Preferences.textureSettingsReference); + AssetDatabase.CreateAsset(material, materialPath); + } } else { vestigialMaterials.Remove(material); } - if (texture != null) - material.mainTexture = texture; + if (material != null) { + if (texture != null) { + material.mainTexture = texture; + } - EditorUtility.SetDirty(material); - // note: don't call AssetDatabase.SaveAssets() since this would trigger OnPostprocessAllAssets() every time unnecessarily. - populatingMaterials.Add(material); //atlasAsset.materials[i] = mat; + EditorUtility.SetDirty(material); + // note: don't call AssetDatabase.SaveAssets() since this would trigger OnPostprocessAllAssets() every time unnecessarily. + populatingMaterials.Add(material); //atlasAsset.materials[i] = mat; + } } atlasAsset.materials = populatingMaterials.ToArray(); From 29e0e9172b93cc2cba8fff6d69673c96d61c8e8a Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Fri, 6 May 2022 15:12:14 +0200 Subject: [PATCH 05/16] [unity] Fixed drag and drop instantiation for Unity 2021.2 and newer (which provides a new callback method). Closes #2077. --- .../Editor/Utility/Instantiation.cs | 11 ++++-- .../Editor/Utility/SpineEditorUtilities.cs | 34 +++++++++++++++++-- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Instantiation.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Instantiation.cs index 79a319238..3fcc32e97 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Instantiation.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/Instantiation.cs @@ -48,6 +48,7 @@ namespace Spine.Unity.Editor { public struct SpawnMenuData { public Vector3 spawnPoint; public Transform parent; + public int siblingIndex; public SkeletonDataAsset skeletonDataAsset; public EditorInstantiation.InstantiateDelegate instantiateDelegate; public bool isUI; @@ -82,7 +83,7 @@ namespace Spine.Unity.Editor { RectTransform rectTransform = (Selection.activeGameObject == null) ? null : Selection.activeGameObject.GetComponent(); Plane plane = (rectTransform == null) ? new Plane(Vector3.back, Vector3.zero) : new Plane(-rectTransform.forward, rectTransform.position); Vector3 spawnPoint = MousePointToWorldPoint2D(mousePos, sceneview.camera, plane); - ShowInstantiateContextMenu(skeletonDataAsset, spawnPoint, null); + ShowInstantiateContextMenu(skeletonDataAsset, spawnPoint, null, 0); DragAndDrop.AcceptDrag(); current.Use(); } @@ -91,7 +92,8 @@ namespace Spine.Unity.Editor { } } - public static void ShowInstantiateContextMenu (SkeletonDataAsset skeletonDataAsset, Vector3 spawnPoint, Transform parent) { + public static void ShowInstantiateContextMenu (SkeletonDataAsset skeletonDataAsset, Vector3 spawnPoint, + Transform parent, int siblingIndex = 0) { var menu = new GenericMenu(); // SkeletonAnimation @@ -99,6 +101,7 @@ namespace Spine.Unity.Editor { skeletonDataAsset = skeletonDataAsset, spawnPoint = spawnPoint, parent = parent, + siblingIndex = siblingIndex, instantiateDelegate = (data) => EditorInstantiation.InstantiateSkeletonAnimation(data), isUI = false }); @@ -112,6 +115,7 @@ namespace Spine.Unity.Editor { skeletonDataAsset = skeletonDataAsset, spawnPoint = spawnPoint, parent = parent, + siblingIndex = siblingIndex, instantiateDelegate = System.Delegate.CreateDelegate(typeof(EditorInstantiation.InstantiateDelegate), graphicInstantiateDelegate) as EditorInstantiation.InstantiateDelegate, isUI = true }); @@ -124,6 +128,7 @@ namespace Spine.Unity.Editor { skeletonDataAsset = skeletonDataAsset, spawnPoint = spawnPoint, parent = parent, + siblingIndex = siblingIndex, instantiateDelegate = (data) => EditorInstantiation.InstantiateSkeletonMecanim(data), isUI = false }); @@ -149,6 +154,8 @@ namespace Spine.Unity.Editor { var usedParent = data.parent != null ? data.parent.gameObject : isUI ? Selection.activeGameObject : null; if (usedParent) newTransform.SetParent(usedParent.transform, false); + if (data.siblingIndex != 0) + newTransform.SetSiblingIndex(data.siblingIndex); newTransform.position = isUI ? data.spawnPoint : RoundVector(data.spawnPoint, 2); diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs index 37848229f..ad82839a5 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs @@ -194,9 +194,13 @@ namespace Spine.Unity.Editor { SceneView.onSceneGUIDelegate += DragAndDropInstantiation.SceneViewDragAndDrop; #endif +#if UNITY_2021_2_OR_NEWER + DragAndDrop.RemoveDropHandler(HierarchyHandler.HandleDragAndDrop); + DragAndDrop.AddDropHandler(HierarchyHandler.HandleDragAndDrop); +#else EditorApplication.hierarchyWindowItemOnGUI -= HierarchyHandler.HandleDragAndDrop; EditorApplication.hierarchyWindowItemOnGUI += HierarchyHandler.HandleDragAndDrop; - +#endif // Hierarchy Icons #if NEWPLAYMODECALLBACKS EditorApplication.playModeStateChanged -= HierarchyHandler.IconsOnPlaymodeStateChanged; @@ -440,6 +444,31 @@ namespace Spine.Unity.Editor { } } +#if UNITY_2021_2_OR_NEWER + internal static DragAndDropVisualMode HandleDragAndDrop (int dropTargetInstanceID, HierarchyDropFlags dropMode, Transform parentForDraggedObjects, bool perform) { + if (!perform || DragAndDrop.objectReferences.Length == 0) + return DragAndDropVisualMode.Copy; + SkeletonDataAsset skeletonDataAsset = DragAndDrop.objectReferences[0] as SkeletonDataAsset; + if (skeletonDataAsset == null) + return DragAndDropVisualMode.Copy; + + GameObject dropTargetObject = UnityEditor.EditorUtility.InstanceIDToObject(dropTargetInstanceID) as GameObject; + Transform dropTarget = dropTargetObject != null ? dropTargetObject.transform : null; + Transform parent = dropTarget; + int siblingIndex = 0; + if (parent != null) { + if (dropMode == HierarchyDropFlags.DropBetween) { + parent = dropTarget.parent; + siblingIndex = dropTarget ? dropTarget.GetSiblingIndex() + 1 : 0; + } else if (dropMode == HierarchyDropFlags.DropAbove) { + parent = dropTarget.parent; + siblingIndex = dropTarget ? dropTarget.GetSiblingIndex() : 0; + } + } + DragAndDropInstantiation.ShowInstantiateContextMenu(skeletonDataAsset, Vector3.zero, parent, siblingIndex); + return DragAndDropVisualMode.Copy; + } +#else internal static void HandleDragAndDrop (int instanceId, Rect selectionRect) { // HACK: Uses EditorApplication.hierarchyWindowItemOnGUI. // Only works when there is at least one item in the scene. @@ -475,7 +504,7 @@ namespace Spine.Unity.Editor { // when dragging into empty space in hierarchy below last node, last node would be parent. if (IsLastNodeInHierarchy(parent)) parent = null; - DragAndDropInstantiation.ShowInstantiateContextMenu(skeletonDataAsset, Vector3.zero, parent); + DragAndDropInstantiation.ShowInstantiateContextMenu(skeletonDataAsset, Vector3.zero, parent, 0); UnityEditor.DragAndDrop.AcceptDrag(); current.Use(); return; @@ -501,6 +530,7 @@ namespace Spine.Unity.Editor { bool isLastNode = (rootNodes.Length > 0 && rootNodes[rootNodes.Length - 1].transform == node); return isLastNode; } +#endif } } From a82b24a649a13ef688edaaae1ec5d43281971685 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Mon, 9 May 2022 11:50:17 +0200 Subject: [PATCH 06/16] [unity] Fixed drag and drop code affecting other non-Spine drag and drop events, introduced in commit 29e0e917. See #2077. --- .../spine-unity/Editor/Utility/SpineEditorUtilities.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs index ad82839a5..83195bfd6 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/SpineEditorUtilities.cs @@ -446,10 +446,11 @@ namespace Spine.Unity.Editor { #if UNITY_2021_2_OR_NEWER internal static DragAndDropVisualMode HandleDragAndDrop (int dropTargetInstanceID, HierarchyDropFlags dropMode, Transform parentForDraggedObjects, bool perform) { - if (!perform || DragAndDrop.objectReferences.Length == 0) - return DragAndDropVisualMode.Copy; - SkeletonDataAsset skeletonDataAsset = DragAndDrop.objectReferences[0] as SkeletonDataAsset; + SkeletonDataAsset skeletonDataAsset = DragAndDrop.objectReferences.Length == 0 ? null : + DragAndDrop.objectReferences[0] as SkeletonDataAsset; if (skeletonDataAsset == null) + return DragAndDropVisualMode.None; + if (!perform) return DragAndDropVisualMode.Copy; GameObject dropTargetObject = UnityEditor.EditorUtility.InstanceIDToObject(dropTargetInstanceID) as GameObject; From 662c00d547e5cc727ff663ce23914d33da052ef1 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Mon, 16 May 2022 16:59:49 +0200 Subject: [PATCH 07/16] [unity] Minor cleanup of example scene description, removal of unnecessary lines. --- .../Getting Started/4 Object Oriented Sample.unity | 2 +- .../Getting Started/5 Basic Platformer.unity | 2 +- .../SkeletonUtility Platformer HingeChain Physics.unity | 2 +- .../Getting Started Scripts/SpineboyBeginnerView.cs | 9 +++------ 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/spine-unity/Assets/Spine Examples/Getting Started/4 Object Oriented Sample.unity b/spine-unity/Assets/Spine Examples/Getting Started/4 Object Oriented Sample.unity index 919ac22f6..3a46c70cf 100644 --- a/spine-unity/Assets/Spine Examples/Getting Started/4 Object Oriented Sample.unity +++ b/spine-unity/Assets/Spine Examples/Getting Started/4 Object Oriented Sample.unity @@ -193,7 +193,7 @@ TextMesh: m_Text: 'Enter PLAY MODE in Unity to see Spineboy animate. Try moving, jumping, aiming and shooting. (WASD+Spacebar+Left&Right Click, or - XBOX Controller)' + Gamepad)' m_OffsetZ: 0 m_CharacterSize: 0.12 m_LineSpacing: 1 diff --git a/spine-unity/Assets/Spine Examples/Getting Started/5 Basic Platformer.unity b/spine-unity/Assets/Spine Examples/Getting Started/5 Basic Platformer.unity index 685e4bc01..35d8ee44d 100644 --- a/spine-unity/Assets/Spine Examples/Getting Started/5 Basic Platformer.unity +++ b/spine-unity/Assets/Spine Examples/Getting Started/5 Basic Platformer.unity @@ -873,7 +873,7 @@ TextMesh: m_GameObject: {fileID: 522034802} m_Text: 'Enter PLAY MODE in Unity to see bearded hero guy animate. - Try moving and jumping. (WASD+Spacebar, or XBOX Controller)' + Try moving and jumping. (WASD+Spacebar, or Gamepad)' m_OffsetZ: 0 m_CharacterSize: 0.1 m_LineSpacing: 1 diff --git a/spine-unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity b/spine-unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity index cd97cdc6c..6b3a44201 100644 --- a/spine-unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity +++ b/spine-unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity @@ -1421,7 +1421,7 @@ TextMesh: animated via physics. - Try moving and jumping. (WASD+Spacebar, or XBOX Controller)' + Try moving and jumping. (WASD+Spacebar, or Gamepad)' m_OffsetZ: 0 m_CharacterSize: 0.1 m_LineSpacing: 1 diff --git a/spine-unity/Assets/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerView.cs b/spine-unity/Assets/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerView.cs index f69b86820..673522322 100644 --- a/spine-unity/Assets/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerView.cs +++ b/spine-unity/Assets/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerView.cs @@ -126,15 +126,13 @@ namespace Spine.Unity.Examples { var shootTrack = skeletonAnimation.AnimationState.SetAnimation(1, shoot, false); shootTrack.AttachmentThreshold = 1f; shootTrack.MixDuration = 0f; - var empty1 = skeletonAnimation.state.AddEmptyAnimation(1, 0.5f, 0.1f); - empty1.AttachmentThreshold = 1f; + skeletonAnimation.state.AddEmptyAnimation(1, 0.5f, 0.1f); // Play the aim animation on track 2 to aim at the mouse target. var aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, false); aimTrack.AttachmentThreshold = 1f; aimTrack.MixDuration = 0f; - var empty2 = skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f); - empty2.AttachmentThreshold = 1f; + skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f); gunSource.pitch = GetRandomPitch(gunsoundPitchOffset); gunSource.Play(); @@ -150,8 +148,7 @@ namespace Spine.Unity.Examples { } public void StopPlayingAim () { - var empty2 = skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f); - empty2.AttachmentThreshold = 1f; + skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f); } public void Turn (bool facingLeft) { From 4f5bc00d6664c9f90ab52c93e916b0b382e0723b Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Mon, 16 May 2022 19:43:24 +0200 Subject: [PATCH 08/16] [unity] Added missing null checks in SkeletonRendererCustomMaterials. Closes #2081. --- .../SkeletonRendererCustomMaterials.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs index a8cd8ce5a..9a1e1cf56 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs @@ -90,7 +90,8 @@ namespace Spine.Unity { continue; Slot slotObject = skeletonRenderer.skeleton.FindSlot(slotMaterialOverride.slotName); - skeletonRenderer.CustomSlotMaterials[slotObject] = slotMaterialOverride.material; + if (slotObject != null) + skeletonRenderer.CustomSlotMaterials[slotObject] = slotMaterialOverride.material; } } @@ -106,7 +107,8 @@ namespace Spine.Unity { continue; Slot slotObject = skeletonRenderer.skeleton.FindSlot(slotMaterialOverride.slotName); - + if (slotObject == null) + continue; Material currentMaterial; if (!skeletonRenderer.CustomSlotMaterials.TryGetValue(slotObject, out currentMaterial)) continue; From 9882fe1da3d7e8a841041f616aae51f9bbf80d30 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Wed, 18 May 2022 15:11:17 +0200 Subject: [PATCH 09/16] [unity] Fixed straight blend mode material templates which were setup as PMA. Closes #2084. --- .../SkeletonStraightAdditive.mat | 15 +++++-- .../SkeletonStraightMultiply.mat | 43 ++++++++++--------- .../SkeletonStraightScreen.mat | 43 ++++++++++--------- 3 files changed, 56 insertions(+), 45 deletions(-) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightAdditive.mat b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightAdditive.mat index f40488ba7..42aa41d38 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightAdditive.mat +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightAdditive.mat @@ -6,9 +6,9 @@ Material: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAAdditive + m_Name: SkeletonStraightAdditive m_Shader: {fileID: 4800000, guid: 53efa1d97f5d9f74285d4330cda14e36, type: 3} - m_ShaderKeywords: + m_ShaderKeywords: _STRAIGHT_ALPHA_INPUT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -29,7 +29,16 @@ Material: m_Floats: - : 0 - _Cutoff: 0.1 - - _StraightAlphaInput: 0 + - _OutlineMipLevel: 0 + - _OutlineReferenceTexWidth: 1024 + - _OutlineSmoothness: 1 + - _OutlineWidth: 3 + - _StencilComp: 8 + - _StencilRef: 1 + - _StraightAlphaInput: 1 + - _ThresholdEnd: 0.25 + - _Use8Neighbourhood: 1 m_Colors: - : {r: 0, g: 2.018574, b: 1e-45, a: 0.000007110106} - _Color: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 0, a: 1} diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightMultiply.mat b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightMultiply.mat index 28c90c143..cf62057cc 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightMultiply.mat +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightMultiply.mat @@ -6,38 +6,39 @@ Material: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAMultiply + m_Name: SkeletonStraightMultiply m_Shader: {fileID: 4800000, guid: 8bdcdc7ee298e594a9c20c61d25c33b6, type: 3} - m_ShaderKeywords: + m_ShaderKeywords: _STRAIGHT_ALPHA_INPUT m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: - second: + - : m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: - second: 0 - - first: - name: _Cutoff - second: 0.1 + - : 0 + - _Cutoff: 0.1 + - _OutlineMipLevel: 0 + - _OutlineReferenceTexWidth: 1024 + - _OutlineSmoothness: 1 + - _OutlineWidth: 3 + - _StencilComp: 8 + - _StencilRef: 1 + - _StraightAlphaInput: 1 + - _ThresholdEnd: 0.25 + - _Use8Neighbourhood: 1 m_Colors: - - first: - name: - second: {r: 0, g: 2.018574, b: 1e-45, a: 0.000007110106} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} + - : {r: 0, g: 2.018574, b: 1e-45, a: 0.000007110106} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 0, a: 1} diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightScreen.mat b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightScreen.mat index 601f987ed..60200fdd7 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightScreen.mat +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonStraightScreen.mat @@ -6,38 +6,39 @@ Material: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAScreen + m_Name: SkeletonStraightScreen m_Shader: {fileID: 4800000, guid: 4e8caa36c07aacf4ab270da00784e4d9, type: 3} - m_ShaderKeywords: + m_ShaderKeywords: _STRAIGHT_ALPHA_INPUT m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: - second: + - : m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: - second: 0 - - first: - name: _Cutoff - second: 0.1 + - : 0 + - _Cutoff: 0.1 + - _OutlineMipLevel: 0 + - _OutlineReferenceTexWidth: 1024 + - _OutlineSmoothness: 1 + - _OutlineWidth: 3 + - _StencilComp: 8 + - _StencilRef: 1 + - _StraightAlphaInput: 1 + - _ThresholdEnd: 0.25 + - _Use8Neighbourhood: 1 m_Colors: - - first: - name: - second: {r: 0, g: 2.018574, b: 1e-45, a: 0.000007121922} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} + - : {r: 0, g: 2.018574, b: 1e-45, a: 0.000007121922} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 0, a: 1} From 1880447f0b3a6107d07096f8bb9ccd0feb37bed5 Mon Sep 17 00:00:00 2001 From: Sergey Kazantsev Date: Sat, 21 May 2022 06:34:08 +0700 Subject: [PATCH 10/16] [spine-c] Add initialization of mixRotate to transform constraint(SkeletonJson) (#2083) --- spine-c/spine-c/src/spine/SkeletonJson.c | 1 + 1 file changed, 1 insertion(+) diff --git a/spine-c/spine-c/src/spine/SkeletonJson.c b/spine-c/spine-c/src/spine/SkeletonJson.c index 349c83743..4b5be2fee 100644 --- a/spine-c/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/spine-c/src/spine/SkeletonJson.c @@ -1140,6 +1140,7 @@ spSkeletonData *spSkeletonJson_readSkeletonData(spSkeletonJson *self, const char data->offsetScaleY = Json_getFloat(constraintMap, "scaleY", 0); data->offsetShearY = Json_getFloat(constraintMap, "shearY", 0); + data->mixRotate = Json_getFloat(constraintMap, "mixRotate", 1); data->mixX = Json_getFloat(constraintMap, "mixX", 1); data->mixY = Json_getFloat(constraintMap, "mixY", data->mixX); data->mixScaleX = Json_getFloat(constraintMap, "mixScaleX", 1); From 86116f7b2dcf7ac3714a21cfa45969a103dccf74 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Mon, 23 May 2022 16:30:05 +0200 Subject: [PATCH 11/16] [unity] Minor: Fixed main object name to match file name to avoid Inspector warnings. --- .../Examples/2D/Example 2D URP Asset.asset | 2 +- .../Examples/2D/Example 2D URP Renderer Data.asset | 2 +- .../Examples/3D/Example URP Asset.asset | 2 +- .../Examples/3D/Example URP Asset_Renderer.asset | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Asset.asset b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Asset.asset index 778ebcfba..61a197342 100644 --- a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Asset.asset +++ b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Asset.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} - m_Name: Demo 2D URP Asset + m_Name: Example 2D URP Asset m_EditorClassIdentifier: k_AssetVersion: 5 k_AssetPreviousVersion: 5 diff --git a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Renderer Data.asset b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Renderer Data.asset index 807b17a74..4102af777 100644 --- a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Renderer Data.asset +++ b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/2D/Example 2D URP Renderer Data.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 11145981673336645838492a2d98e247, type: 3} - m_Name: Demo 2D URP Renderer Data + m_Name: Example 2D URP Renderer Data m_EditorClassIdentifier: m_RendererFeatures: [] m_HDREmulationScale: 1 diff --git a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset.asset b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset.asset index 4cb3b67fe..2e16a17a2 100644 --- a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset.asset +++ b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} - m_Name: Demo URP Asset + m_Name: Example URP Asset m_EditorClassIdentifier: k_AssetVersion: 5 k_AssetPreviousVersion: 5 diff --git a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset_Renderer.asset b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset_Renderer.asset index d8cfbdf57..f77fda628 100644 --- a/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset_Renderer.asset +++ b/spine-unity/Modules/com.esotericsoftware.spine.urp-shaders/Examples/3D/Example URP Asset_Renderer.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} - m_Name: Demo URP Asset_Renderer + m_Name: Example URP Asset_Renderer m_EditorClassIdentifier: m_RendererFeatures: [] postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} From 6fc6e090ae22cc04226cd8a20487f0f6ab42dba1 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Tue, 24 May 2022 16:31:58 +0200 Subject: [PATCH 12/16] [unity] Fixed rare import error that material.mainTexture is null ("Material is missing texture"). --- .../Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs index d1ae05371..bbf9d6f3d 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs @@ -582,6 +582,8 @@ namespace Spine.Unity.Editor { material = defaultShader != null ? new Material(defaultShader) : null; if (material) { ApplyPMAOrStraightAlphaSettings(material, SpineEditorUtilities.Preferences.textureSettingsReference); + if (texture != null) + material.mainTexture = texture; AssetDatabase.CreateAsset(material, materialPath); } } else { @@ -589,10 +591,8 @@ namespace Spine.Unity.Editor { } if (material != null) { - if (texture != null) { + if (texture != null) material.mainTexture = texture; - } - EditorUtility.SetDirty(material); // note: don't call AssetDatabase.SaveAssets() since this would trigger OnPostprocessAllAssets() every time unnecessarily. populatingMaterials.Add(material); //atlasAsset.materials[i] = mat; From 4b4e96b788e1b1e58919504214fcbc7b0e505e08 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Tue, 24 May 2022 17:17:20 +0200 Subject: [PATCH 13/16] [unity] Minor import code refactoring, shall not change anything. --- .../Editor/spine-unity/Editor/Utility/AssetUtility.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs index 9f4869aaa..8b68b516d 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs @@ -633,14 +633,14 @@ namespace Spine.Unity.Editor { } } else { vestigialMaterials.Remove(material); - } - - if (material != null) { if (texture != null) material.mainTexture = texture; EditorUtility.SetDirty(material); // note: don't call AssetDatabase.SaveAssets() since this would trigger OnPostprocessAllAssets() every time unnecessarily. - populatingMaterials.Add(material); //atlasAsset.materials[i] = mat; + } + + if (material != null) { + populatingMaterials.Add(material); } } From d12d59b59360699d129cbaf5b4e0d77b1d2280b9 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 25 May 2022 12:26:04 +0200 Subject: [PATCH 14/16] [ts][player] Add support for preserving drawing buffer contents, updated example accordingly to show screenshotting. --- spine-ts/spine-player/example/example.html | 6 ++++++ spine-ts/spine-player/src/Player.ts | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/spine-ts/spine-player/example/example.html b/spine-ts/spine-player/example/example.html index b0834b019..4f88a86f1 100644 --- a/spine-ts/spine-player/example/example.html +++ b/spine-ts/spine-player/example/example.html @@ -22,7 +22,9 @@ + + diff --git a/spine-ts/spine-player/src/Player.ts b/spine-ts/spine-player/src/Player.ts index 14e6c8da1..0a84b4b57 100644 --- a/spine-ts/spine-player/src/Player.ts +++ b/spine-ts/spine-player/src/Player.ts @@ -114,6 +114,9 @@ export interface SpinePlayerConfig { backgroundColor alpha is < ff. Default: false */ alpha: boolean + /* Optional: Whether to preserve the drawing buffer. This is needed if you want to take a screenshot via canvas.getDataURL(), Default: false */ + preserveDrawingBuffer: boolean + /* Optional: The canvas background color, given in the format #rrggbb or #rrggbbaa. Default: #000000ff (black) or when alpha is true #00000000 (transparent) */ backgroundColor: string @@ -282,6 +285,7 @@ export class SpinePlayer implements Disposable { if (!config.fullScreenBackgroundColor) config.fullScreenBackgroundColor = config.backgroundColor; if (config.backgroundImage && !config.backgroundImage.url) config.backgroundImage = null; if (config.premultipliedAlpha === void 0) config.premultipliedAlpha = true; + if (config.preserveDrawingBuffer === void 0) config.preserveDrawingBuffer = false; if (config.mipmaps === void 0) config.mipmaps = true; if (!config.debug) config.debug = {} as any; if (config.animations && config.animation && config.animations.indexOf(config.animation) < 0) @@ -309,7 +313,7 @@ export class SpinePlayer implements Disposable { try { // Setup the OpenGL context. this.canvas = findWithClass(dom, "spine-player-canvas") as HTMLCanvasElement; - this.context = new ManagedWebGLRenderingContext(this.canvas, { alpha: config.alpha }); + this.context = new ManagedWebGLRenderingContext(this.canvas, { alpha: config.alpha, preserveDrawingBuffer: config.preserveDrawingBuffer }); // Setup the scene renderer and loading screen. this.sceneRenderer = new SceneRenderer(this.canvas, this.context, true); From 9ac5498030f0fbc5cfe359f0943682fb99926572 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 25 May 2022 12:28:43 +0200 Subject: [PATCH 15/16] [ts] 4.0.28 release --- spine-ts/package-lock.json | 98 ++++++++++++++--------------- spine-ts/package.json | 2 +- spine-ts/spine-canvas/package.json | 4 +- spine-ts/spine-core/package.json | 2 +- spine-ts/spine-player/package.json | 4 +- spine-ts/spine-threejs/package.json | 4 +- spine-ts/spine-webgl/package.json | 4 +- 7 files changed, 59 insertions(+), 59 deletions(-) diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index c91ba15ba..3dd9c3e04 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.0.27", + "version": "4.0.28", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@esotericsoftware/spine-ts", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE", "workspaces": [ "spine-core", @@ -140,7 +140,7 @@ "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -158,7 +158,7 @@ "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -167,7 +167,7 @@ "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -176,7 +176,7 @@ "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -251,13 +251,13 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", "dev": true }, "node_modules/binary-extensions": { @@ -993,15 +993,15 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -1342,13 +1342,13 @@ } }, "node_modules/live-server": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", - "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", "dev": true, "dependencies": { "chokidar": "^2.0.4", - "colors": "latest", + "colors": "1.4.0", "connect": "^3.6.6", "cors": "latest", "event-stream": "3.3.4", @@ -7709,9 +7709,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -7967,41 +7967,41 @@ }, "spine-canvas": { "name": "@esotericsoftware/spine-canvas", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } }, "spine-core": { "name": "@esotericsoftware/spine-core", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE" }, "spine-player": { "name": "@esotericsoftware/spine-player", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.0.27" + "@esotericsoftware/spine-webgl": "^4.0.28" } }, "spine-threejs": { "name": "@esotericsoftware/spine-threejs", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.27", + "@esotericsoftware/spine-core": "^4.0.28", "@types/three": "^0.138.0", "three": "^0.138.3" } }, "spine-webgl": { "name": "@esotericsoftware/spine-webgl", - "version": "4.0.27", + "version": "4.0.28", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } } }, @@ -8009,7 +8009,7 @@ "@esotericsoftware/spine-canvas": { "version": "file:spine-canvas", "requires": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } }, "@esotericsoftware/spine-core": { @@ -8018,13 +8018,13 @@ "@esotericsoftware/spine-player": { "version": "file:spine-player", "requires": { - "@esotericsoftware/spine-webgl": "^4.0.27" + "@esotericsoftware/spine-webgl": "^4.0.28" } }, "@esotericsoftware/spine-threejs": { "version": "file:spine-threejs", "requires": { - "@esotericsoftware/spine-core": "^4.0.27", + "@esotericsoftware/spine-core": "^4.0.28", "@types/three": "^0.138.0", "three": "^0.138.3" } @@ -8032,7 +8032,7 @@ "@esotericsoftware/spine-webgl": { "version": "file:spine-webgl", "requires": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } }, "@types/offscreencanvas": { @@ -8110,7 +8110,7 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { @@ -8122,19 +8122,19 @@ "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async-each": { @@ -8193,13 +8193,13 @@ "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", "dev": true }, "binary-extensions": { @@ -8788,15 +8788,15 @@ "dev": true }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -9068,13 +9068,13 @@ } }, "live-server": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", - "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", "dev": true, "requires": { "chokidar": "^2.0.4", - "colors": "latest", + "colors": "1.4.0", "connect": "^3.6.6", "cors": "latest", "event-stream": "3.3.4", @@ -14086,9 +14086,9 @@ "dev": true }, "typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", "dev": true }, "union-value": { diff --git a/spine-ts/package.json b/spine-ts/package.json index aa128b243..443b65b11 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "files": [ "README.md" diff --git a/spine-ts/spine-canvas/package.json b/spine-ts/spine-canvas/package.json index 5c1841937..613b21230 100644 --- a/spine-ts/spine-canvas/package.json +++ b/spine-ts/spine-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-canvas", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } } \ No newline at end of file diff --git a/spine-ts/spine-core/package.json b/spine-ts/spine-core/package.json index b251e379d..b23a2d626 100644 --- a/spine-ts/spine-core/package.json +++ b/spine-ts/spine-core/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-core", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/spine-ts/spine-player/package.json b/spine-ts/spine-player/package.json index 72f447ab7..18047b5e1 100644 --- a/spine-ts/spine-player/package.json +++ b/spine-ts/spine-player/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-player", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.0.27" + "@esotericsoftware/spine-webgl": "^4.0.28" } } \ No newline at end of file diff --git a/spine-ts/spine-threejs/package.json b/spine-ts/spine-threejs/package.json index b38c17273..7dc3a6a8e 100644 --- a/spine-ts/spine-threejs/package.json +++ b/spine-ts/spine-threejs/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-threejs", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -32,6 +32,6 @@ "dependencies": { "@types/three": "^0.138.0", "three": "^0.138.3", - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } } \ No newline at end of file diff --git a/spine-ts/spine-webgl/package.json b/spine-ts/spine-webgl/package.json index c05386d74..8d92738b4 100644 --- a/spine-ts/spine-webgl/package.json +++ b/spine-ts/spine-webgl/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-webgl", - "version": "4.0.27", + "version": "4.0.28", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.0.27" + "@esotericsoftware/spine-core": "^4.0.28" } } \ No newline at end of file From a39bd4236ebaf8b4097ce4acf8411bd1fb646497 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 25 May 2022 12:32:07 +0200 Subject: [PATCH 16/16] [ts] 4.1.17 release --- spine-ts/package-lock.json | 98 ++++++++++++++--------------- spine-ts/package.json | 2 +- spine-ts/spine-canvas/package.json | 4 +- spine-ts/spine-core/package.json | 2 +- spine-ts/spine-player/package.json | 4 +- spine-ts/spine-threejs/package.json | 4 +- spine-ts/spine-webgl/package.json | 4 +- 7 files changed, 59 insertions(+), 59 deletions(-) diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index b68587cbe..e57924d95 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.16", + "version": "4.1.17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@esotericsoftware/spine-ts", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE", "workspaces": [ "spine-core", @@ -140,7 +140,7 @@ "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -158,7 +158,7 @@ "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -167,7 +167,7 @@ "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -176,7 +176,7 @@ "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -251,13 +251,13 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", "dev": true }, "node_modules/binary-extensions": { @@ -993,15 +993,15 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -1342,13 +1342,13 @@ } }, "node_modules/live-server": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", - "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", "dev": true, "dependencies": { "chokidar": "^2.0.4", - "colors": "latest", + "colors": "1.4.0", "connect": "^3.6.6", "cors": "latest", "event-stream": "3.3.4", @@ -7709,9 +7709,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -7967,41 +7967,41 @@ }, "spine-canvas": { "name": "@esotericsoftware/spine-canvas", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } }, "spine-core": { "name": "@esotericsoftware/spine-core", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE" }, "spine-player": { "name": "@esotericsoftware/spine-player", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.1.16" + "@esotericsoftware/spine-webgl": "^4.1.17" } }, "spine-threejs": { "name": "@esotericsoftware/spine-threejs", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.1.16", + "@esotericsoftware/spine-core": "^4.1.17", "@types/three": "^0.133.1", "three": "^0.133.1" } }, "spine-webgl": { "name": "@esotericsoftware/spine-webgl", - "version": "4.1.16", + "version": "4.1.17", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } } }, @@ -8009,7 +8009,7 @@ "@esotericsoftware/spine-canvas": { "version": "file:spine-canvas", "requires": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } }, "@esotericsoftware/spine-core": { @@ -8018,13 +8018,13 @@ "@esotericsoftware/spine-player": { "version": "file:spine-player", "requires": { - "@esotericsoftware/spine-webgl": "^4.1.16" + "@esotericsoftware/spine-webgl": "^4.1.17" } }, "@esotericsoftware/spine-threejs": { "version": "file:spine-threejs", "requires": { - "@esotericsoftware/spine-core": "^4.1.16", + "@esotericsoftware/spine-core": "^4.1.17", "@types/three": "^0.133.1", "three": "^0.133.1" } @@ -8032,7 +8032,7 @@ "@esotericsoftware/spine-webgl": { "version": "file:spine-webgl", "requires": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } }, "@types/offscreencanvas": { @@ -8110,7 +8110,7 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { @@ -8122,19 +8122,19 @@ "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async-each": { @@ -8193,13 +8193,13 @@ "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", "dev": true }, "binary-extensions": { @@ -8788,15 +8788,15 @@ "dev": true }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -9068,13 +9068,13 @@ } }, "live-server": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", - "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", "dev": true, "requires": { "chokidar": "^2.0.4", - "colors": "latest", + "colors": "1.4.0", "connect": "^3.6.6", "cors": "latest", "event-stream": "3.3.4", @@ -14086,9 +14086,9 @@ "dev": true }, "typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", "dev": true }, "union-value": { diff --git a/spine-ts/package.json b/spine-ts/package.json index b54290170..92a7352ea 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "files": [ "README.md" diff --git a/spine-ts/spine-canvas/package.json b/spine-ts/spine-canvas/package.json index 4aaf9ef48..e3dabe00c 100644 --- a/spine-ts/spine-canvas/package.json +++ b/spine-ts/spine-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-canvas", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } } \ No newline at end of file diff --git a/spine-ts/spine-core/package.json b/spine-ts/spine-core/package.json index d05c5adf1..af8921d95 100644 --- a/spine-ts/spine-core/package.json +++ b/spine-ts/spine-core/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-core", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/spine-ts/spine-player/package.json b/spine-ts/spine-player/package.json index cb102449a..05106d5f5 100644 --- a/spine-ts/spine-player/package.json +++ b/spine-ts/spine-player/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-player", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-webgl": "^4.1.16" + "@esotericsoftware/spine-webgl": "^4.1.17" } } \ No newline at end of file diff --git a/spine-ts/spine-threejs/package.json b/spine-ts/spine-threejs/package.json index 1783ea3a7..75321bbcb 100644 --- a/spine-ts/spine-threejs/package.json +++ b/spine-ts/spine-threejs/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-threejs", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -32,6 +32,6 @@ "dependencies": { "@types/three": "^0.133.1", "three": "^0.133.1", - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } } \ No newline at end of file diff --git a/spine-ts/spine-webgl/package.json b/spine-ts/spine-webgl/package.json index df11f6ab9..ee89face8 100644 --- a/spine-ts/spine-webgl/package.json +++ b/spine-ts/spine-webgl/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-webgl", - "version": "4.1.16", + "version": "4.1.17", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "^4.1.16" + "@esotericsoftware/spine-core": "^4.1.17" } } \ No newline at end of file