From 7fba618e884994bfb048b3af7acb9ac2fbea75ef Mon Sep 17 00:00:00 2001 From: badlogic Date: Mon, 13 Aug 2018 17:21:24 +0200 Subject: [PATCH] [cpp] Fixed bug in handling of dark colors on load. --- spine-cocos2dx/src/spine/SkeletonRenderer.cpp | 4 ++-- spine-cpp/spine-cpp/include/spine/Slot.h | 2 -- spine-cpp/spine-cpp/src/spine/Slot.cpp | 6 +----- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/spine-cocos2dx/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/src/spine/SkeletonRenderer.cpp index c8a8af282..94cc291c6 100644 --- a/spine-cocos2dx/src/spine/SkeletonRenderer.cpp +++ b/spine-cocos2dx/src/spine/SkeletonRenderer.cpp @@ -391,7 +391,7 @@ namespace spine { float alpha = nodeColor.a * _skeleton->getColor().a * slot->getColor().a * color.a * 255; // skip rendering if the color of this attachment is 0 - if (color.a == 0){ + if (alpha == 0){ _clipper->clipEnd(*slot); continue; } @@ -414,7 +414,7 @@ namespace spine { darkColor.g = 0; darkColor.b = 0; } - darkColor.a = _premultipliedAlpha ? 255 : 0; + darkColor.a = darkPremultipliedAlpha; BlendFunc blendFunc; switch (slot->getData().getBlendMode()) { diff --git a/spine-cpp/spine-cpp/include/spine/Slot.h b/spine-cpp/spine-cpp/include/spine/Slot.h index c69656987..c0c606447 100644 --- a/spine-cpp/spine-cpp/include/spine/Slot.h +++ b/spine-cpp/spine-cpp/include/spine/Slot.h @@ -100,8 +100,6 @@ public: bool hasDarkColor(); - void setHasDarkColor(bool inValue); - /// May be NULL. Attachment *getAttachment(); diff --git a/spine-cpp/spine-cpp/src/spine/Slot.cpp b/spine-cpp/spine-cpp/src/spine/Slot.cpp index c244a8dad..35051b59a 100644 --- a/spine-cpp/spine-cpp/src/spine/Slot.cpp +++ b/spine-cpp/spine-cpp/src/spine/Slot.cpp @@ -47,7 +47,7 @@ Slot::Slot(SlotData &data, Bone &bone) : _skeleton(bone.getSkeleton()), _color(1, 1, 1, 1), _darkColor(0, 0, 0, 0), - _hasDarkColor(false), + _hasDarkColor(data.hasDarkColor()), _attachment(NULL), _attachmentTime(0) { setToSetupPose(); @@ -89,10 +89,6 @@ bool Slot::hasDarkColor() { return _hasDarkColor; } -void Slot::setHasDarkColor(bool inValue) { - _hasDarkColor = inValue; -} - Attachment *Slot::getAttachment() { return _attachment; }