From c11afb283df59541f91a0f4978ff7b5c09568f48 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:25:06 +0100 Subject: [PATCH 1/6] [libgdx] Take skeleton scale into account when applying translation only IK constraint, see #2412 --- .../src/com/esotericsoftware/spine/IkConstraint.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 864716224..445d7da62 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java @@ -182,8 +182,8 @@ public class IkConstraint implements Updatable { float rotationIK = -bone.ashearX - bone.arotation, tx, ty; switch (bone.data.transformMode) { case onlyTranslation: - tx = targetX - bone.worldX; - ty = targetY - bone.worldY; + tx = (targetX - bone.worldX) * Math.signum(bone.skeleton.scaleX); + ty = (targetY - bone.worldY) * Math.signum(bone.skeleton.scaleY); break; case noRotationOrReflection: float s = Math.abs(pa * pd - pb * pc) / Math.max(0.0001f, pa * pa + pc * pc); From b62cb372e53d12ffc26ad5c16bfeeb43198a1133 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:28:00 +0100 Subject: [PATCH 2/6] [ts] Fix for #2412 --- spine-ts/spine-core/src/IkConstraint.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-ts/spine-core/src/IkConstraint.ts b/spine-ts/spine-core/src/IkConstraint.ts index c320d6171..d3214c7fd 100644 --- a/spine-ts/spine-core/src/IkConstraint.ts +++ b/spine-ts/spine-core/src/IkConstraint.ts @@ -113,8 +113,8 @@ export class IkConstraint implements Updatable { switch (bone.data.transformMode) { case TransformMode.OnlyTranslation: - tx = targetX - bone.worldX; - ty = targetY - bone.worldY; + tx = (targetX - bone.worldX) * MathUtils.signum(bone.skeleton.scaleX); + ty = (targetY - bone.worldY) * MathUtils.signum(bone.skeleton.scaleY); break; case TransformMode.NoRotationOrReflection: let s = Math.abs(pa * pd - pb * pc) / Math.max(0.0001, pa * pa + pc * pc); From 501ad3553d3ba1f8b2eb06e043359c6c0126d2ed Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:30:02 +0100 Subject: [PATCH 3/6] [c][cpp] Fix for #2412 --- spine-c/spine-c/src/spine/IkConstraint.c | 4 ++-- spine-cpp/spine-cpp/src/spine/IkConstraint.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-c/spine-c/src/spine/IkConstraint.c b/spine-c/spine-c/src/spine/IkConstraint.c index 7ce325d8c..4f0fa257a 100644 --- a/spine-c/spine-c/src/spine/IkConstraint.c +++ b/spine-c/spine-c/src/spine/IkConstraint.c @@ -80,8 +80,8 @@ void spIkConstraint_apply1(spBone *bone, float targetX, float targetY, int /*boo switch (bone->data->transformMode) { case SP_TRANSFORMMODE_ONLYTRANSLATION: - tx = targetX - bone->worldX; - ty = targetY - bone->worldY; + tx = (targetX - bone->worldX) * SIGNUM(bone->skeleton->scaleX); + ty = (targetY - bone->worldY) * SIGNUM(bone->skeleton->scaleY); break; case SP_TRANSFORMMODE_NOROTATIONORREFLECTION: { s = ABS(pa * pd - pb * pc) / MAX(0.0001f, pa * pa + pc * pc); diff --git a/spine-cpp/spine-cpp/src/spine/IkConstraint.cpp b/spine-cpp/spine-cpp/src/spine/IkConstraint.cpp index ac865f111..bf667d6b7 100644 --- a/spine-cpp/spine-cpp/src/spine/IkConstraint.cpp +++ b/spine-cpp/spine-cpp/src/spine/IkConstraint.cpp @@ -47,8 +47,8 @@ void IkConstraint::apply(Bone &bone, float targetX, float targetY, bool compress switch (bone._data.getTransformMode()) { case TransformMode_OnlyTranslation: - tx = targetX - bone._worldX; - ty = targetY - bone._worldY; + tx = (targetX - bone._worldX) * MathUtil::sign(bone.getSkeleton().getScaleX()); + ty = (targetY - bone._worldY) * MathUtil::sign(bone.getSkeleton().getScaleY()); break; case TransformMode_NoRotationOrReflection: { float s = MathUtil::abs(pa * pd - pb * pc) / MathUtil::max(0.0001f, pa * pa + pc * pc); From f3dbe0d3322e225b2ac3875a9143b9d9ca5f98ff Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:31:23 +0100 Subject: [PATCH 4/6] [haxe] Fix for #2412 --- spine-haxe/spine-haxe/spine/IkConstraint.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-haxe/spine-haxe/spine/IkConstraint.hx b/spine-haxe/spine-haxe/spine/IkConstraint.hx index 937d0a416..1e86eea00 100644 --- a/spine-haxe/spine-haxe/spine/IkConstraint.hx +++ b/spine-haxe/spine-haxe/spine/IkConstraint.hx @@ -95,8 +95,8 @@ class IkConstraint implements Updatable { ty:Float = 0; switch (bone.data.transformMode) { case TransformMode.onlyTranslation: - tx = targetX - bone.worldX; - ty = targetY - bone.worldY; + tx = (targetX - bone.worldX) * MathUtils.signum(bone.skeleton.scaleX); + ty = (targetY - bone.worldY) * MathUtils.signum(bone.skeleton.scaleY); case TransformMode.noRotationOrReflection: var s = Math.abs(pa * pd - pb * pc) / Math.max(0.0001, pa * pa + pc * pc); var sa:Float = pa / bone.skeleton.scaleX; From c0b76ccdc8f709f55435cb46507414c806ee9da1 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:36:27 +0100 Subject: [PATCH 5/6] [ts] Release 4.1.48 --- spine-ts/package-lock.json | 34 ++++++++++++++--------------- spine-ts/package.json | 2 +- spine-ts/spine-canvas/package.json | 4 ++-- spine-ts/spine-core/package.json | 2 +- spine-ts/spine-phaser/package.json | 8 +++---- spine-ts/spine-pixi/package.json | 4 ++-- spine-ts/spine-player/package.json | 4 ++-- spine-ts/spine-threejs/package.json | 4 ++-- spine-ts/spine-webgl/package.json | 4 ++-- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index a9c339a85..7457c3bce 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.47", + "version": "4.1.48", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@esotericsoftware/spine-ts", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "workspaces": [ "spine-core", @@ -3595,33 +3595,33 @@ }, "spine-canvas": { "name": "@esotericsoftware/spine-canvas", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } }, "spine-core": { "name": "@esotericsoftware/spine-core", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE" }, "spine-phaser": { "name": "@esotericsoftware/spine-phaser", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-canvas": "4.1.47", - "@esotericsoftware/spine-core": "4.1.47", - "@esotericsoftware/spine-webgl": "4.1.47" + "@esotericsoftware/spine-canvas": "4.1.48", + "@esotericsoftware/spine-core": "4.1.48", + "@esotericsoftware/spine-webgl": "4.1.48" } }, "spine-pixi": { "name": "@esotericsoftware/spine-pixi", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" }, "peerDependencies": { "@pixi/assets": "^7.2.4", @@ -3634,26 +3634,26 @@ }, "spine-player": { "name": "@esotericsoftware/spine-player", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-webgl": "4.1.47" + "@esotericsoftware/spine-webgl": "4.1.48" } }, "spine-threejs": { "name": "@esotericsoftware/spine-threejs", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } }, "spine-webgl": { "name": "@esotericsoftware/spine-webgl", - "version": "4.1.47", + "version": "4.1.48", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } } } diff --git a/spine-ts/package.json b/spine-ts/package.json index 3d48f8a11..442f84004 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "type": "module", "files": [ diff --git a/spine-ts/spine-canvas/package.json b/spine-ts/spine-canvas/package.json index 20e8842eb..79eafa258 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.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,6 +31,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } } \ No newline at end of file diff --git a/spine-ts/spine-core/package.json b/spine-ts/spine-core/package.json index 1a8242437..48bca022b 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.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/spine-ts/spine-phaser/package.json b/spine-ts/spine-phaser/package.json index f44b045eb..9ea9107ab 100644 --- a/spine-ts/spine-phaser/package.json +++ b/spine-ts/spine-phaser/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-phaser", - "version": "4.1.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the Phaser.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,8 +31,8 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47", - "@esotericsoftware/spine-webgl": "4.1.47", - "@esotericsoftware/spine-canvas": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48", + "@esotericsoftware/spine-webgl": "4.1.48", + "@esotericsoftware/spine-canvas": "4.1.48" } } \ No newline at end of file diff --git a/spine-ts/spine-pixi/package.json b/spine-ts/spine-pixi/package.json index b9cea5e8d..2ae9c41e4 100644 --- a/spine-ts/spine-pixi/package.json +++ b/spine-ts/spine-pixi/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-pixi", - "version": "4.1.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,7 +31,7 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" }, "peerDependencies": { "@pixi/core": "^7.2.4", diff --git a/spine-ts/spine-player/package.json b/spine-ts/spine-player/package.json index 0cc71e998..8d0ea4306 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.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,6 +31,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-webgl": "4.1.47" + "@esotericsoftware/spine-webgl": "4.1.48" } } \ No newline at end of file diff --git a/spine-ts/spine-threejs/package.json b/spine-ts/spine-threejs/package.json index c13793cdb..1f4c951dd 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.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,6 +31,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } } \ No newline at end of file diff --git a/spine-ts/spine-webgl/package.json b/spine-ts/spine-webgl/package.json index a3ccbe252..fef6a18b5 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.47", + "version": "4.1.48", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -31,6 +31,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.47" + "@esotericsoftware/spine-core": "4.1.48" } } \ No newline at end of file From 5d4b86e0707f8106d525bdb2b09c960bfe284320 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 28 Nov 2023 13:40:27 +0100 Subject: [PATCH 6/6] [flutter] Release 4.1.10 --- spine-flutter/CHANGELOG.md | 6 ++++++ spine-flutter/lib/assets/libspine_flutter.js | 6 +++--- .../lib/assets/libspine_flutter.wasm | Bin 391173 -> 391070 bytes spine-flutter/pubspec.yaml | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/spine-flutter/CHANGELOG.md b/spine-flutter/CHANGELOG.md index 2c8a8d04e..498f34a1d 100644 --- a/spine-flutter/CHANGELOG.md +++ b/spine-flutter/CHANGELOG.md @@ -1,3 +1,9 @@ +# 4.1.10 +# Update WASM binaries + +# 4.1.9 +# Fixes #2412, single bone, translation only IK constraints did not take skeleton scale into account. + # 4.1.8 * Fixes compilation errors due to API change in Flutter 3.16.0, see [this issue](https://github.com/EsotericSoftware/spine-runtimes/issues/2420). **Note**: Depending on this version requires your project to depend on Flutter >= 3.16.0 as well. diff --git a/spine-flutter/lib/assets/libspine_flutter.js b/spine-flutter/lib/assets/libspine_flutter.js index a8eefa3ce..de3a5d177 100644 --- a/spine-flutter/lib/assets/libspine_flutter.js +++ b/spine-flutter/lib/assets/libspine_flutter.js @@ -85,7 +85,7 @@ a._spine_skeleton_set_slots_to_setup_pose=function(){return(a._spine_skeleton_se a._spine_skeleton_set_skin_by_name=function(){return(a._spine_skeleton_set_skin_by_name=a.asm.spine_skeleton_set_skin_by_name).apply(null,arguments)};a._spine_skeleton_set_skin=function(){return(a._spine_skeleton_set_skin=a.asm.spine_skeleton_set_skin).apply(null,arguments)};a._spine_skeleton_get_attachment_by_name=function(){return(a._spine_skeleton_get_attachment_by_name=a.asm.spine_skeleton_get_attachment_by_name).apply(null,arguments)}; a._spine_skeleton_get_attachment=function(){return(a._spine_skeleton_get_attachment=a.asm.spine_skeleton_get_attachment).apply(null,arguments)};a._spine_skeleton_set_attachment=function(){return(a._spine_skeleton_set_attachment=a.asm.spine_skeleton_set_attachment).apply(null,arguments)};a._spine_skeleton_find_ik_constraint=function(){return(a._spine_skeleton_find_ik_constraint=a.asm.spine_skeleton_find_ik_constraint).apply(null,arguments)}; a._spine_skeleton_find_transform_constraint=function(){return(a._spine_skeleton_find_transform_constraint=a.asm.spine_skeleton_find_transform_constraint).apply(null,arguments)};a._spine_skeleton_find_path_constraint=function(){return(a._spine_skeleton_find_path_constraint=a.asm.spine_skeleton_find_path_constraint).apply(null,arguments)};a._spine_skeleton_get_bounds=function(){return(a._spine_skeleton_get_bounds=a.asm.spine_skeleton_get_bounds).apply(null,arguments)}; -a._malloc=function(){return(a._malloc=a.asm.malloc).apply(null,arguments)};a._spine_skeleton_get_root_bone=function(){return(a._spine_skeleton_get_root_bone=a.asm.spine_skeleton_get_root_bone).apply(null,arguments)};a._spine_skeleton_get_data=function(){return(a._spine_skeleton_get_data=a.asm.spine_skeleton_get_data).apply(null,arguments)};a._spine_skeleton_get_num_bones=function(){return(a._spine_skeleton_get_num_bones=a.asm.spine_skeleton_get_num_bones).apply(null,arguments)}; +a._spine_skeleton_get_root_bone=function(){return(a._spine_skeleton_get_root_bone=a.asm.spine_skeleton_get_root_bone).apply(null,arguments)};a._spine_skeleton_get_data=function(){return(a._spine_skeleton_get_data=a.asm.spine_skeleton_get_data).apply(null,arguments)};a._spine_skeleton_get_num_bones=function(){return(a._spine_skeleton_get_num_bones=a.asm.spine_skeleton_get_num_bones).apply(null,arguments)}; a._spine_skeleton_get_bones=function(){return(a._spine_skeleton_get_bones=a.asm.spine_skeleton_get_bones).apply(null,arguments)};a._spine_skeleton_get_num_slots=function(){return(a._spine_skeleton_get_num_slots=a.asm.spine_skeleton_get_num_slots).apply(null,arguments)};a._spine_skeleton_get_slots=function(){return(a._spine_skeleton_get_slots=a.asm.spine_skeleton_get_slots).apply(null,arguments)}; a._spine_skeleton_get_num_draw_order=function(){return(a._spine_skeleton_get_num_draw_order=a.asm.spine_skeleton_get_num_draw_order).apply(null,arguments)};a._spine_skeleton_get_draw_order=function(){return(a._spine_skeleton_get_draw_order=a.asm.spine_skeleton_get_draw_order).apply(null,arguments)};a._spine_skeleton_get_num_ik_constraints=function(){return(a._spine_skeleton_get_num_ik_constraints=a.asm.spine_skeleton_get_num_ik_constraints).apply(null,arguments)}; a._spine_skeleton_get_ik_constraints=function(){return(a._spine_skeleton_get_ik_constraints=a.asm.spine_skeleton_get_ik_constraints).apply(null,arguments)};a._spine_skeleton_get_num_transform_constraints=function(){return(a._spine_skeleton_get_num_transform_constraints=a.asm.spine_skeleton_get_num_transform_constraints).apply(null,arguments)}; @@ -237,8 +237,8 @@ a._spine_texture_region_get_degrees=function(){return(a._spine_texture_region_ge a._spine_texture_region_set_offset_x=function(){return(a._spine_texture_region_set_offset_x=a.asm.spine_texture_region_set_offset_x).apply(null,arguments)};a._spine_texture_region_get_offset_y=function(){return(a._spine_texture_region_get_offset_y=a.asm.spine_texture_region_get_offset_y).apply(null,arguments)};a._spine_texture_region_set_offset_y=function(){return(a._spine_texture_region_set_offset_y=a.asm.spine_texture_region_set_offset_y).apply(null,arguments)}; a._spine_texture_region_get_width=function(){return(a._spine_texture_region_get_width=a.asm.spine_texture_region_get_width).apply(null,arguments)};a._spine_texture_region_set_width=function(){return(a._spine_texture_region_set_width=a.asm.spine_texture_region_set_width).apply(null,arguments)};a._spine_texture_region_get_height=function(){return(a._spine_texture_region_get_height=a.asm.spine_texture_region_get_height).apply(null,arguments)}; a._spine_texture_region_set_height=function(){return(a._spine_texture_region_set_height=a.asm.spine_texture_region_set_height).apply(null,arguments)};a._spine_texture_region_get_original_width=function(){return(a._spine_texture_region_get_original_width=a.asm.spine_texture_region_get_original_width).apply(null,arguments)};a._spine_texture_region_set_original_width=function(){return(a._spine_texture_region_set_original_width=a.asm.spine_texture_region_set_original_width).apply(null,arguments)}; -a._spine_texture_region_get_original_height=function(){return(a._spine_texture_region_get_original_height=a.asm.spine_texture_region_get_original_height).apply(null,arguments)};a._spine_texture_region_set_original_height=function(){return(a._spine_texture_region_set_original_height=a.asm.spine_texture_region_set_original_height).apply(null,arguments)};a.___errno_location=function(){return(a.___errno_location=a.asm.__errno_location).apply(null,arguments)}; -a.stackSave=function(){return(a.stackSave=a.asm.stackSave).apply(null,arguments)};a.stackRestore=function(){return(a.stackRestore=a.asm.stackRestore).apply(null,arguments)};a.stackAlloc=function(){return(a.stackAlloc=a.asm.stackAlloc).apply(null,arguments)};a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.dynCall_jiji).apply(null,arguments)};var Z;R=function sa(){Z||ta();Z||(R=sa)}; +a._spine_texture_region_get_original_height=function(){return(a._spine_texture_region_get_original_height=a.asm.spine_texture_region_get_original_height).apply(null,arguments)};a._spine_texture_region_set_original_height=function(){return(a._spine_texture_region_set_original_height=a.asm.spine_texture_region_set_original_height).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.malloc).apply(null,arguments)}; +a.___errno_location=function(){return(a.___errno_location=a.asm.__errno_location).apply(null,arguments)};a.stackSave=function(){return(a.stackSave=a.asm.stackSave).apply(null,arguments)};a.stackRestore=function(){return(a.stackRestore=a.asm.stackRestore).apply(null,arguments)};a.stackAlloc=function(){return(a.stackAlloc=a.asm.stackAlloc).apply(null,arguments)};a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.dynCall_jiji).apply(null,arguments)};var Z;R=function sa(){Z||ta();Z||(R=sa)}; function ta(){function b(){if(!Z&&(Z=!0,a.calledRun=!0,!B)){V(ca);h(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var c=a.postRun.shift();da.unshift(c)}V(da)}}if(!(0X&xS^H0un1_C2C&4H)`JrSC1U6a znaR9CqeiP3G}2U}FKrQmCIwsJ#MUK7wCQqsf~73SsI;Q=do#?qw1tzr``!J$|Gs-) z9yp%!__3U}=Ut?8XRB*Z?#{bPvZwo8tCp@@`Qw|cU%Pj1TyO&`t=TdBpnI2#un4Pg zEXnT-6Z!O0q{<<(8B3T>rWWXysQ1QuBZDy_U$cX6b9oBX2SxH^BMH94<%UKg4;9Pf zDO3madJQ+`-cA%YwvNMHt0d4c8HM@X5@X5hgB&pg1 zcz>ZBNV(|+IuSDN`$08kj3AbsMQMk~Os*f5wn5hN@W?c(i4(ccClSS@RSWc(oksOQ ztr-+a0Dj?3=hbXbCPWL+p^!vA#!Va0Z!(4*K>y6hut~W+c_RBk9m||zk3pGp>jm1K zLH$5SBjym2?gs$t>@+$K6fH{c2PY~MS>{A)6b?LdsI@?QGpHWusUn$BNq<=6U}5?L zHUo8K(j5ePJbB&`v$Iox2aD3G8xlkg6r@Af1O2@)T@?wS1DPE(12tt(3(%&Lv|Ss} zm&Iw+0razsW+%|oDa|5;-w&uVhJ#y)Je44*QP~JyVQftbS#z^o9V-3m%ivp z`gwM++eN(**V>Vm46X>1QI?w5PV=v!xO$~@+$FrC^7QFQB;+&8>5xCQ1X4`fPwa0p zQv9?stzZ=t|Bb71$F2U@PREgf_)GLz>{M-kiOx{3e?fDji%!~V(LV0>dmIvcf`z?~ z$KmS4I5t9+zfA93;&+6@CB3t%j9TF=$M0k;R4`%ls@V2>Be_ z8Df4w+eWo2%p5u=VA;0gmS`pJ8HM(xP^B(shyB31912yh0vfMdBUF-D5)JcMrDfI3FzoBX$T?=H zo1uVZVb~RmHik(I+AfD0*2-v@#$w5!$Kgyk6hb3s4o~rI6U8pHOh5$B!U2CG}rtp{I6_seoOZR%~$VzhwdjIsVCp1-Q>8wwU@4-MH_P+noMliP|HFA zBcG5U( zu1ih6g3T6hpzpt-*I&U7=8ztJ^(}0vhxF?9+ZZPiOb>gDpx(74Vz%QC2T@fauY=|0 zklQQ^QPo(kL!sl)=hd0t7e_;WbLZ0cj+fHulB~$07NNF-LoK6AqQ;-6jMkH2ACJN1 znX*f=gPU2BJKE!ifzR>A9Jgb~qQUog$dfUIk;gP8C0Da^vZ2)&4xp^z7WQzd)~#k| zN4{nr&Vqx=9R22$8_`oN{0n)}J`g$(4dc?9D8v~O4f|qIC#%uqSrJ9RWCFGm$Z)4e zLtdL!AiOvD0hcEyp((^1e?!;}ujQ2u@B`b~VPB=CMpv`B#HUtQvtc8=CcETmuoaTd z2?q<%XT0i>YE}uA535-&md~nLDe-CNcDB+@2K45iu*U?-bZmr8rR1dk;W}0*XiZ$L ze~?8@{p4bnP66X{Sr2iOVHsb4+F+Ln_2`i^rs3aCd#&gUcb3zPVp z1T_LMnv;J0%mw@o2A6p=_ypr}?hJkvMe0qGZweswv##W8T%=1k&*yiScrl4>ml+_s z?tx2kzRfY#t@EhdYGQMt;t!` zrH@AW)x&9xQZu*n6&N}@wj+~TrT(;?&jeeKe2%|O_<9#(>eTc6)@)QEs`<(Q!AAr& z%(2zcTUfD*w(?Cu|JI95ZCF;nya_GEug1T?FY%-*1y%La7x+05d`ZW3rtgP5w&O{b z(~^+o&?L1uLQ)jsn^vkOlOl~*oC2oF?@s50hw8jL%4$TDT= zX-GP5uM8gIC^^J*&q}HXGWy;Iq_l7cFCbpEW(Rj%Uenus>Z(3|mOA$uwnUHq1+VZd z=ul+5Wnq@eRz+r7=VO|*;LS2H#k>;QL0N`?mL$_G%a+G8`nwcC8{9iG_=F3uU>GGg z80;4Ln3M(i(CpNF_^_|MAwbGoyE?4-NKB_d2VaF@e{TnWITtOoyBQ z9v?&KhJ;?*$L|?J>k|6Y!~FN?c?tE}KX}zpJX;*|n!)_Ub(N4`bcB0p(D0c_+p>ow z+1DQBuTWz@;soEtXnjJzHORXe+T))+VwB!}l9v+IZ%E(2`PruG%RlEuZh@DUeYvXX z;~{+y6+d#34h@5;1Q(#dC;n>V0-PQ$R_5jRBp*;X#1s)+hlX)`2s!oY2PTL$UX<;Z zQ$(kYbt~5PlgJ%&#SSdtOT}&AZn;#<^8x;4zPOnro}KjrVJd(2 zwc>peNIXSkA$Er?vkEnFp%|+dTrVy%3Xj|%M!=c=dL@XtPs(h)~1Mc8b z(c^;C?&V@4;AhJb3hj{k;$B@_CUDk1%_IDNP9<-@|a zMVwuL$7FIYn%cpiJT;MOS+j?IFTi9%U9m+RfL>vPSdQg^2E=Ptxn8{|fxlv3bPpkcnV%!I9?=;p?SgJo)5n0|MCTwI2Ju`Mn(knB_fc(uu3m3i+V!1RPDO4;kh39*c1QlY5t z7Ik22Mtp3mxbQ2ndH5m7qZ#pnM@8OOVm#*{Ue}Zn|GY_jClAkO{gN0nljN!oKNF)^ I#r%2y0X5Z4mH+?% delta 3936 zcmZu!3v`sl75?Y7uYWh$ghxUiWcE*>ycBJD2~;u(Sg}6P3P(j0&?-$ph^5xn0~?`W zz()hS$*i8B(NYzONO}0DRbr@8XcbOuQ6k18962>sg`lxUYo*`pW*4;Pu`}PDxp(f| zxvzcnRNk7NyzN^(Wc$t*&rA6M&yod;7cafV`jagn(MXDnurXA>X#E3tDSwn^i%c{LNEfAWi)n#cOXstddO`~q0{Q-qjj9NWF zo9r~|18T{jXl)}=|MjQ!sxv5aL_JVfL_r@TCIR$9hOrsw6s7hoRi*#dlIAhcvpuHK?2lPa-s?|w( z7*uaj`T^^JUdgE21@vgr-cfV26M%<`(_23R>Ml$l-3Ro~qO@1kCWtzixj`LJQwG%o ztuIOQC4jyjnnuk)4`p^f4YWD6vlz#32h`x@L87tzZJNw|NTOh?T-4;Bg^ z;UP-~WB}YFs4s_D#){uTZE_$S~vG=?3` z^nSA0z4&qZpWNsX4-G{%$@|B_+^$E0+5y+Gcy~rEkT`aGB{ihQF^9(ENnIEoOnM~6D*h@Zmm;-dOJB%Ra>`}RtAgPyjJ<`*Kn zrFIAf&U1MW=sWk(VN<5`>qk?j>KY*FSySPr#!bzA^UX&Q^rUGmsr$!$^rf)zoL|35 z50GwMd4%pGCtZIht)|6m^7|zX%&{z3pukuGqRfM=)fJMu`EyYN%m=%+mm?w4QDR|00z?q!erNWHr-%vK^M-QzjzC=;kp_DsEZ z9WQa;9mKvzXm4DriQI8V<+1Y!l7_xMpVgT0wS4ybGE^u#2=NSF7uK+Wg9AppO*Y%0)g^w-=LTE@`!u=1^hH8t-5?7FLm!2&tE5aa)4o+9B^-&!hdeU`{>1d ztdVU`<5yGMVV>gaL%2itmHciGX>k|K=699&QQwUtb~n1mmh;mgQ*r*WitiG%uTi(H zgHvy<<2eKu+Ov+2Bc#s#WIb>86`TI1lg~hPgE6N%h}^S@qs4tL#;+MfyBjsz!mCls zmTrM6J&n3~3$Fm#J+XzqLHJe=6MD~9etT|6qP_;N3K2XhW&=?K>ThF1^|dX0eK_mk z>Bf63>zKL)2_s9NY~eF}KGY*gBetIMEI&VLOG|qC%RuK|IB1oxGB)C z%5WEtIl+w)AC9w)BZ63Qv$>2NKFTG<$6Nrv48~Hc<0@~$$$rq2{Bh|6v-CzRqeQUM zx*FQe#g2YTdgIHfjYc`|kN#hPEd?CWf#z3)d}bbWMCukOpE=vO4EQ9A%fQA-bcEhJ zgROSkw()Xbv{{q$EDPmY#dWg0BY~L4X_9GNnlMA*w-k0MGTE|h)tTA9Srg=;y`|yD zJZQ|plr&CwpC~{nE-WxRQ#{xet}3(aN+j@egyTGAiPSNxTwaRo`lQR3pdT67%Ae0i z4t=$QpYaNGb?FRwvXc)d0*#%0l|Ds8#GQPU|0J9CYWKGv@K=#LwZ8E~UX_CuOPbCL z1qw!0SU>V1_tUVUGjpP4XD7)$AM-ub@ITkXUu3jTyGwfcK1OPF?H7oKIemPjaZ>>F zV)gF9FL|*SJ=upuJmk^QFL;@|$tMOAgw-y;c+V!=-NYcVct}BO!t{7BYHAX`7pdsZ z2vlizhmI9@`yo?L674p|>!yn(6tVr6OT=gs5toP|3@~_^*oNVS%fua^j{32f6#%?v zwz!qlJ#}ohFlrs2Bi=USp6kRf%=m*F#9;8cm(4?8Lmtr8^Th(vr4P;*FM;~t0@2}t zjGGpT3jymFK{DW(pNT0Lrc{XnQ0G($6~vghO9X)R@9M=!Bcfgm0eZh)9K^7DgII)N z=tc;t*RwW?&qC%4*#xwPh!K_0*Tls4v9cy6;@?^s9v4GJ;u(Am&@sC)>mh@GSHMZlcu&zNX22p=#5Hiv) zBVyv-TTzQ2er?E7?^zKlQ*u9P5SQZ>r!|V-kZ~!EgHpgb5h_d>e#dlQa1iu3+zf~# z%gpet$>{8UuEjz!Hho!Y>agKL+5#7vL7DtciuC0(vou%T!{Uc$xlAjX*gRuC^qsh9L6ay>na`ctBnAv2&F-w-Vt57d>0f>>%Gd?7XZ;V~!)6cw diff --git a/spine-flutter/pubspec.yaml b/spine-flutter/pubspec.yaml index 8106fe674..5bda9209a 100644 --- a/spine-flutter/pubspec.yaml +++ b/spine-flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: spine_flutter description: The official Spine Flutter Runtime to load, display and interact with Spine animations. -version: 4.1.8 +version: 4.1.10 homepage: https://esotericsoftware.com repository: https://github.com/esotericsoftware/spine-runtimes issue_tracker: https://github.com/esotericsoftware/spine-runtimes/issues