From cbb775af975c2216e25f6dcbda0179818f29f8a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20=C3=9Cz=C3=BCmc=C3=BC?= Date: Thu, 17 Jul 2014 03:45:31 +0300 Subject: [PATCH 1/2] Static cast rgba value Add static_cast to the rgba valuse to cast them to sf::Uint8, so that compiler warnings can be avoided. --- spine-sfml/src/spine/spine-sfml.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spine-sfml/src/spine/spine-sfml.cpp b/spine-sfml/src/spine/spine-sfml.cpp index 00af71064..e1f5615cd 100644 --- a/spine-sfml/src/spine/spine-sfml.cpp +++ b/spine-sfml/src/spine/spine-sfml.cpp @@ -104,10 +104,10 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { texture = (Texture*)((AtlasRegion*)regionAttachment->rendererObject)->page->rendererObject; RegionAttachment_computeWorldVertices(regionAttachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - Uint8 r = skeleton->r * slot->r * 255; - Uint8 g = skeleton->g * slot->g * 255; - Uint8 b = skeleton->b * slot->b * 255; - Uint8 a = skeleton->a * slot->a * 255; + Uint8 r = static_cast(skeleton->r * slot->r * 255); + Uint8 g = static_cast(skeleton->g * slot->g * 255); + Uint8 b = static_cast(skeleton->b * slot->b * 255); + Uint8 a = static_cast(skeleton->a * slot->a * 255); Vector2u size = texture->getSize(); vertices[0].color.r = r; @@ -159,10 +159,10 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { texture = (Texture*)((AtlasRegion*)mesh->rendererObject)->page->rendererObject; MeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - Uint8 r = skeleton->r * slot->r * 255; - Uint8 g = skeleton->g * slot->g * 255; - Uint8 b = skeleton->b * slot->b * 255; - Uint8 a = skeleton->a * slot->a * 255; + Uint8 r = static_cast(skeleton->r * slot->r * 255); + Uint8 g = static_cast(skeleton->g * slot->g * 255); + Uint8 b = static_cast(skeleton->b * slot->b * 255); + Uint8 a = static_cast(skeleton->a * slot->a * 255); vertex.color.r = r; vertex.color.g = g; vertex.color.b = b; @@ -184,10 +184,10 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { texture = (Texture*)((AtlasRegion*)mesh->rendererObject)->page->rendererObject; SkinnedMeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - Uint8 r = skeleton->r * slot->r * 255; - Uint8 g = skeleton->g * slot->g * 255; - Uint8 b = skeleton->b * slot->b * 255; - Uint8 a = skeleton->a * slot->a * 255; + Uint8 r = static_cast(skeleton->r * slot->r * 255); + Uint8 g = static_cast(skeleton->g * slot->g * 255); + Uint8 b = static_cast(skeleton->b * slot->b * 255); + Uint8 a = static_cast(skeleton->a * slot->a * 255); vertex.color.r = r; vertex.color.g = g; vertex.color.b = b; From 599a3fa83596204e59885b09b5038abc9c3a659b Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Mon, 21 Jul 2014 20:48:18 -0700 Subject: [PATCH 2/2] Added basic skeleton extension methods for Slot, Attachments, and Bone to better integrate with Unity Color and Vector classes --- .../Assets/spine-unity/SkeletonExtensions.cs | 73 +++++++++++++++++++ .../spine-unity/SkeletonExtensions.cs.meta | 8 ++ 2 files changed, 81 insertions(+) create mode 100644 spine-unity/Assets/spine-unity/SkeletonExtensions.cs create mode 100644 spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta diff --git a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs new file mode 100644 index 000000000..ca8e263df --- /dev/null +++ b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs @@ -0,0 +1,73 @@ +using UnityEngine; +using System.Collections; +using Spine; + +public static class SkeletonExtensions { + + public static void SetColor(this Slot slot, Color color){ + slot.A = color.a; + slot.R = color.r; + slot.G = color.g; + slot.B = color.b; + } + + public static void SetColor(this Slot slot, Color32 color){ + slot.A = color.a / 255f; + slot.R = color.r / 255f; + slot.G = color.g / 255f; + slot.B = color.b / 255f; + } + + public static void SetColor(this RegionAttachment attachment, Color color){ + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor(this RegionAttachment attachment, Color32 color){ + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetColor(this MeshAttachment attachment, Color color){ + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor(this MeshAttachment attachment, Color32 color){ + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetColor(this SkinnedMeshAttachment attachment, Color color){ + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor(this SkinnedMeshAttachment attachment, Color32 color){ + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetPosition(this Bone bone, Vector2 position){ + bone.X = position.x; + bone.Y = position.y; + } + + public static void SetPosition(this Bone bone, Vector3 position){ + bone.X = position.x; + bone.Y = position.y; + } + +} diff --git a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta new file mode 100644 index 000000000..427cdd10a --- /dev/null +++ b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea85c8f6a91a6ab45881b0dbdaabb7d0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: