From 514469f45b1cab1fbe583bf1894ddee76acee78d Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Mon, 11 Jul 2022 11:11:41 +0200 Subject: [PATCH 1/2] [sfml] Force x86_64 on macOS, SFML doesn't ship ARM64 binaries yet. --- spine-sfml/c/CMakeLists.txt | 2 ++ spine-sfml/cpp/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/spine-sfml/c/CMakeLists.txt b/spine-sfml/c/CMakeLists.txt index 68dcc75f5..66afad2e6 100644 --- a/spine-sfml/c/CMakeLists.txt +++ b/spine-sfml/c/CMakeLists.txt @@ -3,6 +3,8 @@ # set(DEPS_DIR "${CMAKE_CURRENT_LIST_DIR}/dependencies/") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + set(CMAKE_OSX_ARCHITECTURES x86_64) + set(ONLY_ACTIVE_ARCH NO) set(SFML_URL "https://www.sfml-dev.org/files/SFML-2.5.1-macOS-clang.tar.gz") set(SFML_DIR ${DEPS_DIR}/SFML-2.5.1-macos-clang) if (NOT EXISTS "${SFML_DIR}") diff --git a/spine-sfml/cpp/CMakeLists.txt b/spine-sfml/cpp/CMakeLists.txt index 903d0f7d4..777a9ad4d 100644 --- a/spine-sfml/cpp/CMakeLists.txt +++ b/spine-sfml/cpp/CMakeLists.txt @@ -3,6 +3,8 @@ # set(DEPS_DIR "${CMAKE_CURRENT_LIST_DIR}/dependencies/") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + set(CMAKE_OSX_ARCHITECTURES x86_64) + set(ONLY_ACTIVE_ARCH NO) set(SFML_URL "https://www.sfml-dev.org/files/SFML-2.5.1-macOS-clang.tar.gz") set(SFML_DIR ${DEPS_DIR}/SFML-2.5.1-macos-clang) if (NOT EXISTS "${SFML_DIR}") From 766105189f1b017080cfe38196af1c66bb70a584 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Tue, 12 Jul 2022 14:50:41 +0200 Subject: [PATCH 2/2] [unity] Fixed Sprite.ToAtlasRegion and SpriteAttacher example script ignoring pivot in 4.1. Closes #2109. Issue was introduced in commit 9ecf28b, see #1884. --- .../Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs index d284d8b13..54f3f63cd 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/AtlasUtilities.cs @@ -193,6 +193,10 @@ namespace Spine.Unity.AttachmentTools { region.index = -1; region.degrees = s.packed && s.packingRotation != SpritePackingRotation.None ? 90 : 0; + // World space units + Bounds bounds = s.bounds; + Vector2 boundsMin = bounds.min, boundsMax = bounds.max; + // Texture space/pixel units Rect spineRect = s.textureRect.SpineUnityFlipRect(s.texture.height); Rect originalRect = s.rect; @@ -200,8 +204,8 @@ namespace Spine.Unity.AttachmentTools { region.originalWidth = (int)originalRect.width; region.height = (int)spineRect.height; region.originalHeight = (int)originalRect.height; - region.offsetX = s.textureRectOffset.x; - region.offsetY = s.textureRectOffset.y; + region.offsetX = s.textureRectOffset.x + spineRect.width * (0.5f - InverseLerp(boundsMin.x, boundsMax.x, 0)); + region.offsetY = s.textureRectOffset.y + spineRect.height * (0.5f - InverseLerp(boundsMin.y, boundsMax.y, 0)); if (isolatedTexture) { region.u = 0;