From 65d0eec7c57a2e126df78bfded4799357de62af5 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Mon, 7 Jul 2025 22:57:37 +0200 Subject: [PATCH] [cpp] 4.3 porting WIP --- spine-cpp/spine-cpp/include/spine/Constraint.h | 2 -- spine-cpp/spine-cpp/include/spine/Sequence.h | 2 +- spine-cpp/spine-cpp/include/spine/SlotPose.h | 2 ++ spine-cpp/spine-cpp/include/spine/Version.h | 4 ++-- spine-cpp/spine-cpp/src/spine/ConstraintTimeline.cpp | 4 +++- spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp | 4 ++-- spine-cpp/spine-cpp/src/spine/SlotPose.cpp | 4 ++++ spine-libgdx/.vscode/settings.json | 7 +++++++ spine-libgdx/settings.gradle | 2 ++ 9 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 spine-libgdx/.vscode/settings.json diff --git a/spine-cpp/spine-cpp/include/spine/Constraint.h b/spine-cpp/spine-cpp/include/spine/Constraint.h index 8986b5c39..62c9891a6 100644 --- a/spine-cpp/spine-cpp/include/spine/Constraint.h +++ b/spine-cpp/spine-cpp/include/spine/Constraint.h @@ -68,8 +68,6 @@ namespace spine { template class SP_API ConstraintGeneric : public PosedGeneric, public PosedActive, public Constraint { - RTTI_DECL - public: ConstraintGeneric(D &data) : PosedGeneric(data), PosedActive(), Constraint() { } diff --git a/spine-cpp/spine-cpp/include/spine/Sequence.h b/spine-cpp/spine-cpp/include/spine/Sequence.h index f1b4ca2c6..992ec7327 100644 --- a/spine-cpp/spine-cpp/include/spine/Sequence.h +++ b/spine-cpp/spine-cpp/include/spine/Sequence.h @@ -97,7 +97,7 @@ namespace spine { SequenceMode_pingpongReverse = 6 }; - SequenceMode SequenceMode_valueOf(const String &value) { + inline SequenceMode SequenceMode_valueOf(const String &value) { if (value == "hold") return SequenceMode_hold; if (value == "once") return SequenceMode_once; if (value == "loop") return SequenceMode_loop; diff --git a/spine-cpp/spine-cpp/include/spine/SlotPose.h b/spine-cpp/spine-cpp/include/spine/SlotPose.h index 520d7fe89..a4ea59aa7 100644 --- a/spine-cpp/spine-cpp/include/spine/SlotPose.h +++ b/spine-cpp/spine-cpp/include/spine/SlotPose.h @@ -79,6 +79,8 @@ namespace spine { /// Returns true if this slot has a dark color. bool hasDarkColor(); + void setHasDarkColor(bool hasDarkColor); + /// The current attachment for the slot, or null if the slot has no attachment. Attachment* getAttachment(); diff --git a/spine-cpp/spine-cpp/include/spine/Version.h b/spine-cpp/spine-cpp/include/spine/Version.h index eaa56558b..c60430fb5 100644 --- a/spine-cpp/spine-cpp/include/spine/Version.h +++ b/spine-cpp/spine-cpp/include/spine/Version.h @@ -31,7 +31,7 @@ #define SPINE_VERSION_H_ #define SPINE_MAJOR_VERSION 4 -#define SPINE_MINOR_VERSION 2 -#define SPINE_VERSION_STRING "4.2" +#define SPINE_MINOR_VERSION 3 +#define SPINE_VERSION_STRING "4.3" #endif diff --git a/spine-cpp/spine-cpp/src/spine/ConstraintTimeline.cpp b/spine-cpp/spine-cpp/src/spine/ConstraintTimeline.cpp index 378f403b7..aa5c6777b 100644 --- a/spine-cpp/spine-cpp/src/spine/ConstraintTimeline.cpp +++ b/spine-cpp/spine-cpp/src/spine/ConstraintTimeline.cpp @@ -31,4 +31,6 @@ using namespace spine; -RTTI_IMPL_NOPARENT(ConstraintTimeline) \ No newline at end of file +RTTI_IMPL_NOPARENT(ConstraintTimeline) + +ConstraintTimeline::ConstraintTimeline(int constraintIndex) : _constraintIndex(constraintIndex) {} \ No newline at end of file diff --git a/spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp b/spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp index ae1d6f9db..6f053458e 100644 --- a/spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp +++ b/spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp @@ -680,8 +680,8 @@ Attachment *SkeletonJson::readAttachment(Json *map, Skin *skin, int slotIndex, c if (Json::getInt(map, "hull", 0)) mesh->setHullLength(Json::getInt(map, "hull", 0) << 1); Vector edges; - if (!Json::asArray(Json::getItem(map, "edges"), edges)) return NULL; - mesh->_edges.clearAndAddAll(edges); + Json::asArray(Json::getItem(map, "edges"), edges); + if (edges.size() > 0) mesh->_edges.clearAndAddAll(edges); return mesh; } case AttachmentType_Path: { diff --git a/spine-cpp/spine-cpp/src/spine/SlotPose.cpp b/spine-cpp/spine-cpp/src/spine/SlotPose.cpp index c787aacbb..dda97c4b7 100644 --- a/spine-cpp/spine-cpp/src/spine/SlotPose.cpp +++ b/spine-cpp/spine-cpp/src/spine/SlotPose.cpp @@ -61,6 +61,10 @@ bool SlotPose::hasDarkColor() { return _hasDarkColor; } +void SlotPose::setHasDarkColor(bool hasDarkColor) { + _hasDarkColor = hasDarkColor; +} + Attachment *SlotPose::getAttachment() { return _attachment; } diff --git a/spine-libgdx/.vscode/settings.json b/spine-libgdx/.vscode/settings.json new file mode 100644 index 000000000..a0afa6db1 --- /dev/null +++ b/spine-libgdx/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic", + "java.import.gradle.enabled": true, + "java.import.gradle.wrapper.enabled": true, + "java.import.gradle.offline.enabled": false, + "java.server.launchMode": "Standard" +} \ No newline at end of file diff --git a/spine-libgdx/settings.gradle b/spine-libgdx/settings.gradle index 34b8ed31f..d56656050 100644 --- a/spine-libgdx/settings.gradle +++ b/spine-libgdx/settings.gradle @@ -1,3 +1,5 @@ +rootProject.name = 'spine-libgdx-root' + // includeBuild "../../libgdx" include ":spine-libgdx" include ":spine-libgdx-tests"