From db69ea75ce5c61d52637c7a011571489103a4da0 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sat, 19 Apr 2025 21:30:08 -0400 Subject: [PATCH] [libgdx] resetUpdate improvements. --- .../spine-libgdx/src/com/esotericsoftware/spine/Bone.java | 5 +++-- .../src/com/esotericsoftware/spine/IkConstraint.java | 3 +++ .../src/com/esotericsoftware/spine/PathConstraint.java | 1 + .../src/com/esotericsoftware/spine/PhysicsConstraint.java | 1 + .../spine-libgdx/src/com/esotericsoftware/spine/Slider.java | 2 +- .../src/com/esotericsoftware/spine/TransformConstraint.java | 1 + 6 files changed, 10 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index f01b08cba..8f128925c 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -66,10 +66,11 @@ public class Bone extends PosedActive { return children; } - void resetUpdate () { + void resetUpdate (Skeleton skeleton) { + if (applied.update != skeleton.update) return; applied.update = 0; Bone[] children = this.children.items; for (int i = 0, n = this.children.size; i < n; i++) - children[i].resetUpdate(); + children[i].resetUpdate(skeleton); } } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java index e6da05415..ae15e70c6 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java @@ -166,6 +166,7 @@ public class IkConstraint extends Constraint { int timelineCount = data.animation.timelines.size; Bone[] bones = skeleton.bones.items; for (int i = 0; i < timelineCount; i++) - if (timelines[i] instanceof BoneTimeline boneTimeline) bones[boneTimeline.getBoneIndex()].resetUpdate(); + if (timelines[i] instanceof BoneTimeline boneTimeline) bones[boneTimeline.getBoneIndex()].resetUpdate(skeleton); } void sort (Skeleton skeleton) { diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java index 7d2b65772..0e50383c7 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java @@ -97,6 +97,7 @@ public class TransformConstraint extends Constraint